「AOJ再挑戦46~50」の編集履歴(バックアップ)一覧はこちら

AOJ再挑戦46~50」(2014/01/29 (水) 22:19:44) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*問46 Differential http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0046 標高データを読み込んで一番高い山と低い山の差をこたえる問題。 簡単な問題なので書くことがありません。 #include<stdio.h> int main(){ double min,max,a; scanf("%lf",&min); max=min; while(scanf("%lf",&a)!=EOF){ min=min>a?a:min; max=max>a?max:a; } printf("%lf\n",max-min); } *問47 Cup Game http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0047 カップゲームの操作結果をこたえる問題。 簡単なので何も工夫するところがありません。 #include<stdio.h> int main(){ char b='A',c1,c2; while(scanf("%c,%c%*c",&c1,&c2)!=EOF){ b=(b==c1)?c2:b==c2?c1:b; } printf("%c\n",b); } *問48 Class http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0048 体重からボクシングの階級をこたえる問題。 簡単なので何も工夫するところがありません。 #include<stdio.h> int main(){ char lank[11][20]={ "light fly","fly","bantam","feather", "light","light welter","welter","light middle", "middle","light heavy","heavy"}; double w; while(scanf("%lf",&w)!=EOF){ int p=(w>48)+(w>51)+(w>54)+(w>57)+(w>60)+(w>64)+(w>69)+(w>75)+(w>81)+(w>91); printf("%s\n",lank[p]); } } *問49 Blood Groups http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0049 血液型を集計する問題。 ハッシュ関数通して集計するだけです。 #include<stdio.h> int main(){ char type[3]; int n; int count[4]={0}; while(scanf("%d,%s",&n,type)!=EOF){ count[((type[0]=='B'))+(3*(type[0]=='O'))+(2*(type[1]=='B'))]++; } for(int i=0;i<4;i++)printf("%d\n",count[i]); }
*問46 Differential http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0046 標高データを読み込んで一番高い山と低い山の差をこたえる問題。 簡単な問題なので書くことがありません。 #include<stdio.h> int main(){ double min,max,a; scanf("%lf",&min); max=min; while(scanf("%lf",&a)!=EOF){ min=min>a?a:min; max=max>a?max:a; } printf("%lf\n",max-min); } *問47 Cup Game http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0047 カップゲームの操作結果をこたえる問題。 簡単なので何も工夫するところがありません。 #include<stdio.h> int main(){ char b='A',c1,c2; while(scanf("%c,%c%*c",&c1,&c2)!=EOF){ b=(b==c1)?c2:b==c2?c1:b; } printf("%c\n",b); } *問48 Class http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0048 体重からボクシングの階級をこたえる問題。 簡単なので何も工夫するところがありません。 #include<stdio.h> int main(){ char lank[11][20]={ "light fly","fly","bantam","feather", "light","light welter","welter","light middle", "middle","light heavy","heavy"}; double w; while(scanf("%lf",&w)!=EOF){ int p=(w>48)+(w>51)+(w>54)+(w>57)+(w>60)+(w>64)+(w>69)+(w>75)+(w>81)+(w>91); printf("%s\n",lank[p]); } } *問49 Blood Groups http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0049 血液型を集計する問題。 ハッシュ関数通して集計するだけです。 #include<stdio.h> int main(){ char type[3]; int n; int count[4]={0}; while(scanf("%d,%s",&n,type)!=EOF){ count[((type[0]=='B'))+(3*(type[0]=='O'))+(2*(type[1]=='B'))]++; } for(int i=0;i<4;i++)printf("%d\n",count[i]); } *問50 Apple and Peach http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0050 置き換えする文字数が同じなら簡単で手抜きで解きます。 #include<stdio.h> #include<string.h> bool test_change(char *c1,char *c2,char *c3){ for(int i=0;i<5;i++){ if(c1[i]!=c2[i])return false; } memcpy(c1,c3,5); return true; } int main(){ char text[1001]; char *ret; int i=0; while(scanf("%c",&text[i++])!=EOF); text[i-1]='\0'; ret=text; while(ret[0]!='\0'){ if(!test_change(ret,"apple","peach")){ test_change(ret,"peach","apple"); } ret++; } printf("%s",text); }

表示オプション

横に並べて表示:
変化行の前後のみ表示: