#17673: 更新後的解法


314159265358979323846264338327 ... (少年π)

學校 : 臺北市私立延平高級中學
編號 : 69058
來源 : [223.136.179.30]
最後登入時間 :
2024-04-29 19:11:35
b949. 3rd CPSC Problem 3--「障」量土地 -- 第三屆新北市立中山國中程式設計競賽 | From: [114.136.255.80] | 發表日期 : 2019-05-04 10:45

https://horikitacoding.blogspot.com/2019/05/b949-3rd-cpsc-problem-3.html#more

 
#17674: Re:更新後的解法


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

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
b949. 3rd CPSC Problem 3--「障」量土地 -- 第三屆新北市立中山國中程式設計競賽 | From: [114.42.215.64] | 發表日期 : 2019-05-04 10:54


學長也來玩部落格啦XD

 
#17683: Re:更新後的解法


314159265358979323846264338327 ... (少年π)

學校 : 臺北市私立延平高級中學
編號 : 69058
來源 : [223.136.179.30]
最後登入時間 :
2024-04-29 19:11:35
b949. 3rd CPSC Problem 3--「障」量土地 -- 第三屆新北市立中山國中程式設計競賽 | From: [42.73.155.17] | 發表日期 : 2019-05-04 17:56

我發現這題用scanf,printf比cin/cout的優化快好多

/*1.1s,104KB*/

#include<cstdio>

using namespace std;

int main(){

register long long int a,b;

while(scanf("%lld",&a)!=EOF){

b=a*a;

if(b==1)printf("25\n");

else if(b%4==0)printf("%lld00\n",(b>>2));

else printf("%lld%lld\n",(b>>2),(b%4)*25);

}

return 0;

}

 

/*1.6s,372KB*/

#include <iostream>

using namespace std;

int main(int argc, char** argv) {

ios::sync_with_stdio(0);

cin.tie(0);

register long long int a,b;

while(cin>>a){

b=a*a;

if(b==1)cout<<"25"<<'\n';

else if(b%4==0)cout<<(b>>2)<<"00"<<'\n';

else cout<<(b>>2)<<(b%4)*25<<'\n';

}

return 0;

 

}

 

 

 
#17864: Re:更新後的解法


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

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
b949. 3rd CPSC Problem 3--「障」量土地 -- 第三屆新北市立中山國中程式設計競賽 | From: [114.42.218.14] | 發表日期 : 2019-05-26 21:17

我發現這題用scanf,printf比cin/cout的優化快好多

/*1.1s,104KB*/

#include

using namespace std;

int main(){

register long long int a,b;

while(scanf("%lld",&a)!=EOF){

b=a*a;

if(b==1)printf("25\n");

else if(b%4==0)printf("%lld00\n",(b>>2));

else printf("%lld%lld\n",(b>>2),(b%4)*25);

}

return 0;

}

 

/*1.6s,372KB*/

#include

using namespace std;

int main(int argc, char** argv) {

ios::sync_with_stdio(0);

cin.tie(0);

register long long int a,b;

while(cin>>a){

b=a*a;

if(b==1)cout<<"25"<<'\n';

else if(b%4==0)cout<<(b>>2)<<"00"<<'\n';

else cout<<(b>>2)<<(b%4)*25<<'\n';

}

return 0;

 

}

 

 

學長~~~

a為正整數時

b%4只可能是1 or 0 喔

 
#17865: Re:更新後的解法


314159265358979323846264338327 ... (少年π)

學校 : 臺北市私立延平高級中學
編號 : 69058
來源 : [223.136.179.30]
最後登入時間 :
2024-04-29 19:11:35
b949. 3rd CPSC Problem 3--「障」量土地 -- 第三屆新北市立中山國中程式設計競賽 | From: [223.136.91.224] | 發表日期 : 2019-05-26 21:23

我發現這題用scanf,printf比cin/cout的優化快好多

/*1.1s,104KB*/

#include

using namespace std;

int main(){

register long long int a,b;

while(scanf("%lld",&a)!=EOF){

b=a*a;

if(b==1)printf("25\n");

else if(b%4==0)printf("%lld00\n",(b>>2));

else printf("%lld%lld\n",(b>>2),(b%4)*25);

}

return 0;

}

 

/*1.6s,372KB*/

#include

using namespace std;

int main(int argc, char** argv) {

ios::sync_with_stdio(0);

cin.tie(0);

register long long int a,b;

while(cin>>a){

b=a*a;

if(b==1)cout<<"25"<<'\n';

else if(b%4==0)cout<<(b>>2)<<"00"<<'\n';

else cout<<(b>>2)<<(b%4)*25<<'\n';

}

return 0;

 

}

 

 

學長~~~

a為正整數時

b%4只可能是1 or 0 喔

好像是這樣,我再想辦法優化(%太耗時間了,改成位元運算好了)


 
#17870: Re:更新後的解法


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

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
b949. 3rd CPSC Problem 3--「障」量土地 -- 第三屆新北市立中山國中程式設計競賽 | From: [114.42.218.14] | 發表日期 : 2019-05-27 19:16

我發現這題用scanf,printf比cin/cout的優化快好多

/*1.1s,104KB*/

#include

using namespace std;

int main(){

register long long int a,b;

while(scanf("%lld",&a)!=EOF){

b=a*a;

if(b==1)printf("25\n");

else if(b%4==0)printf("%lld00\n",(b>>2));

else printf("%lld%lld\n",(b>>2),(b%4)*25);

}

return 0;

}

 

/*1.6s,372KB*/

#include

using namespace std;

int main(int argc, char** argv) {

ios::sync_with_stdio(0);

cin.tie(0);

register long long int a,b;

while(cin>>a){

b=a*a;

if(b==1)cout<<"25"<<'\n';

else if(b%4==0)cout<<(b>>2)<<"00"<<'\n';

else cout<<(b>>2)<<(b%4)*25<<'\n';

}

return 0;

 

}

 

 

學長~~~

a為正整數時

b%4只可能是1 or 0 喔

好像是這樣,我再想辦法優化(%太耗時間了,改成位元運算好了)


#include<cstdio>
using namespace std;
int main(){
register long long int a;
while(scanf("%lld",&a)!=EOF){
if(a!=1)
printf("%lld",(a*a>>2));
if(a&1)
printf("25\n");
else
printf("00\n");
}
}

AC (1s, 96KB)

 
#17871: Re:更新後的解法


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

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
b949. 3rd CPSC Problem 3--「障」量土地 -- 第三屆新北市立中山國中程式設計競賽 | From: [114.42.218.14] | 發表日期 : 2019-05-27 19:56

我發現這題用scanf,printf比cin/cout的優化快好多

/*1.1s,104KB*/

#include

using namespace std;

int main(){

register long long int a,b;

while(scanf("%lld",&a)!=EOF){

b=a*a;

if(b==1)printf("25\n");

else if(b%4==0)printf("%lld00\n",(b>>2));

else printf("%lld%lld\n",(b>>2),(b%4)*25);

}

return 0;

}

 

/*1.6s,372KB*/

#include

using namespace std;

int main(int argc, char** argv) {

ios::sync_with_stdio(0);

cin.tie(0);

register long long int a,b;

while(cin>>a){

b=a*a;

if(b==1)cout<<"25"<<'\n';

else if(b%4==0)cout<<(b>>2)<<"00"<<'\n';

else cout<<(b>>2)<<(b%4)*25<<'\n';

}

return 0;

 

}

 

 

學長~~~

a為正整數時

b%4只可能是1 or 0 喔

好像是這樣,我再想辦法優化(%太耗時間了,改成位元運算好了)


#include
using namespace std;
int main(){
register long long int a;
while(scanf("%lld",&a)!=EOF){
if(a!=1)
printf("%lld",(a*a>>2));
if(a&1)
printf("25\n");
else
printf("00\n");
}
}

AC (1s, 96KB)

#include<cstdio>
using namespace std;
int main(){
register long long int a;
while(scanf("%lld",&a)!=EOF){
if(a!=1)
printf("%lld",(a*a>>2));
if(a&1)
printf("25\n");
else
printf("00\n");
}
return 0;
}

一個return 0;差這麼多歐!!!

AC (1s, 88KB)

 

 
#17872: Re:更新後的解法


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

學校 : 臺北市私立延平高級中學
編號 : 83268
來源 : [203.72.178.1]
最後登入時間 :
2023-10-30 13:02:50
b949. 3rd CPSC Problem 3--「障」量土地 -- 第三屆新北市立中山國中程式設計競賽 | From: [114.42.218.14] | 發表日期 : 2019-05-27 20:10

我發現這題用scanf,printf比cin/cout的優化快好多

/*1.1s,104KB*/

#include

using namespace std;

int main(){

register long long int a,b;

while(scanf("%lld",&a)!=EOF){

b=a*a;

if(b==1)printf("25\n");

else if(b%4==0)printf("%lld00\n",(b>>2));

else printf("%lld%lld\n",(b>>2),(b%4)*25);

}

return 0;

}

 

/*1.6s,372KB*/

#include

using namespace std;

int main(int argc, char** argv) {

ios::sync_with_stdio(0);

cin.tie(0);

register long long int a,b;

while(cin>>a){

b=a*a;

if(b==1)cout<<"25"<<'\n';

else if(b%4==0)cout<<(b>>2)<<"00"<<'\n';

else cout<<(b>>2)<<(b%4)*25<<'\n';

}

return 0;

 

}

 

 

學長~~~

a為正整數時

b%4只可能是1 or 0 喔

好像是這樣,我再想辦法優化(%太耗時間了,改成位元運算好了)


#include
using namespace std;
int main(){
register long long int a;
while(scanf("%lld",&a)!=EOF){
if(a!=1)
printf("%lld",(a*a>>2));
if(a&1)
printf("25\n");
else
printf("00\n");
}
}

AC (1s, 96KB)

#include
using namespace std;
int main(){
register long long int a;
while(scanf("%lld",&a)!=EOF){
if(a!=1)
printf("%lld",(a*a>>2));
if(a&1)
printf("25\n");
else
printf("00\n");
}
return 0;
}

一個return 0;差這麼多歐!!!

AC (1s, 88KB)

 

人就是要不斷進步:

AC (1s, 72KB)

#include<cstdio>
using namespace std;
int main(){
unsigned long long int a;
while(scanf("%lld",&a)!=EOF){
if(a!=1)
printf("%lld",(a*a>>2));
if(a&1)
printf("25\n");
else
printf("00\n");
}
return 0;
}
 
ZeroJudge Forum