※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

「AOJ再挑戦46~50」の編集履歴(バックアップ)一覧に戻る

AOJ再挑戦46~50 - (2014/01/29 (水) 21:45:40) の最新版との変更点

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

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

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