#17896: 這是怎樣?


ufve0704 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
c517. 2. 南南見島 -- 2017高雄市資訊學科能力複賽 | From: [114.42.212.155] | 發表日期 : 2019-05-30 21:09

#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv){
unsigned long long int a,b,c,d,e,f,g;
cin>>a>>b>>c>>d>>e>>f;
if(abs(c-a)<=abs(e-a))
g=abs(c-a);
else
g=abs(e-a);
if(abs(d-b)>=abs(f-b))
cout<<g+abs(f-b)<<endl;
else
cout<<g+abs(d-b)<<endl;
}

這個code是CE

正常來說CE是指編譯錯誤

也就是說這裡CE

DEV C++也是無法運行的

如果是這樣

那為什麼我在DEV C++可運行的

這會拿到ce?

 
#17898: Re:這是怎樣?


freedom501999@gmail.com (帥氣魔方生)

學校 : 不指定學校
編號 : 88611
來源 : [39.8.203.54]
最後登入時間 :
2019-05-30 22:56:25
c517. 2. 南南見島 -- 2017高雄市資訊學科能力複賽 | From: [39.8.203.54] | 發表日期 : 2019-05-30 21:29

#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv){
unsigned long long int a,b,c,d,e,f,g;
cin>>a>>b>>c>>d>>e>>f;
if(abs(c-a)<=abs(e-a))
g=abs(c-a);
else
g=abs(e-a);
if(abs(d-b)>=abs(f-b))
cout<<g+abs(f-b)<<endl;
else
cout<<g+abs(d-b)<<endl;
}


你把變數宣告成 long long int 就好,但是改了還是會 NA

不需要用絕對值,以 X 範圍 3 ~ 8 為例

如果 鳥在 X = 1,只要加 3 - 1 ;鳥在 X = 10,只要加 10 - 8;鳥在 X = 5,不用加

你的判斷是第一個不成立,就一定加第二個,或許我上一篇說的不夠詳細,總之你要改 if-else

 
#17902: Re:這是怎樣?


ufve0704 (爬 我爬 我爬爬爬 有排行榜這種東西就是要爬 爬過我上面的那...)

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
c517. 2. 南南見島 -- 2017高雄市資訊學科能力複賽 | From: [114.42.212.155] | 發表日期 : 2019-05-31 19:21

#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv){
unsigned long long int a,b,c,d,e,f,g;
cin>>a>>b>>c>>d>>e>>f;
if(abs(c-a)<=abs(e-a))
g=abs(c-a);
else
g=abs(e-a);
if(abs(d-b)>=abs(f-b))
cout<<g+abs(f-b)<<endl;
else
cout<<g+abs(d-b)<<endl;
}


你把變數宣告成 long long int 就好,但是改了還是會 NA

不需要用絕對值,以 X 範圍 3 ~ 8 為例

如果 鳥在 X = 1,只要加 3 - 1 ;鳥在 X = 10,只要加 10 - 8;鳥在 X = 5,不用加

你的判斷是第一個不成立,就一定加第二個,或許我上一篇說的不夠詳細,總之你要改 if-else

謝謝大大講解

但我更好奇的是CE這回事

照理講我在怎麼樣也不會CE啊

 
#17907: Re:這是怎樣?


kerry970176 (AceIn)

學校 : 臺北市私立延平高級中學
編號 : 42345
來源 : [36.225.144.210]
最後登入時間 :
2023-02-16 15:15:16
c517. 2. 南南見島 -- 2017高雄市資訊學科能力複賽 | From: [36.225.111.208] | 發表日期 : 2019-06-01 01:46

#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv){
unsigned long long int a,b,c,d,e,f,g;
cin>>a>>b>>c>>d>>e>>f;
if(abs(c-a)<=abs(e-a))
g=abs(c-a);
else
g=abs(e-a);
if(abs(d-b)>=abs(f-b))
cout<<g+abs(f-b)<<endl;
else
cout<<g+abs(d-b)<<endl;
}


你把變數宣告成 long long int 就好,但是改了還是會 NA

不需要用絕對值,以 X 範圍 3 ~ 8 為例

如果 鳥在 X = 1,只要加 3 - 1 ;鳥在 X = 10,只要加 10 - 8;鳥在 X = 5,不用加

你的判斷是第一個不成立,就一定加第二個,或許我上一篇說的不夠詳細,總之你要改 if-else

謝謝大大講解

但我更好奇的是CE這回事

照理講我在怎麼樣也不會CE啊

abs(unsigned)在ZJ的編譯器會CE




 
ZeroJudge Forum