「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]);
 }



*問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);
 }