「AOJ500~510」の編集履歴(バックアップ)一覧に戻る
AOJ500~510」を以下のとおり復元します。
*0500 Card Game
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0500
カードゲームの合計点を求める問題。
順に2人が1枚つずつカードを出し大きな値のカードを出した方がカードの得点を得ます。

解法
指定されたとおりに書くだけです。

 #include<stdio.h>
 int main(){
	int n,p1,p2,c1,c2;
	while(scanf("%d",&n),n>0){
		p1=p2=0;
		while(n--){
			scanf("%d %d",&c1,&c2);
			if(c1==c2){
				p1+=c1;
				p2+=c2;
			}else if(c1>c2){
				p1+=c1+c2;
			}else{
				p2+=c1+c2;
			}
		}
		printf("%d %d\n",p1,p2);
	}
 }





----
*0502 Data Conversion
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0501
入力された文字を変換表に従って変換して出力する問題です。
解法
定義通りに変換表mapを作ってそれと照合するだけで済みます。



 #include<stdio.h>
 #include<string.h>
 int main(){
	int n,m;
	char map[255],c1,c2;
	while(scanf("%d",&n),n>0){
		memset(map,-1,255);
		while(n--){
			scanf(" %c %c",&c1,&c2);
			map[c1]=c2;
		}
		scanf("%d",&m);
		while(m--){
			scanf(" %c",&c1);
			printf("%c",map[c1]==-1?c1:map[c1]);
		}
		printf("\n");
	}
 }

復元してよろしいですか?