結果

問題 No.8042 本棚
ユーザー Goi_dude
提出日時 2019-04-01 22:11:24
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 1 ms / 2,000 ms
コード長 1,056 bytes
コンパイル時間 245 ms
コンパイル使用メモリ 30,336 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-28 01:50:51
合計ジャッジ時間 946 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdio.h>
#include <string.h>

int main(void){
	int N;
	int i,j;
	char S[50][26];
	char d[50][4];
	int dn[50];
	char tmp[50];
	scanf("%d",&N);
	for(i=0;i<N;i++){
		scanf("%s %s",S[i],d[i]);
		if (strcmp(d[i],"iti")==0){
			dn[i]=1;
		}
		if (strcmp(d[i],"ni")==0){
			dn[i]=2;
		}
		if (strcmp(d[i],"san")==0){
			dn[i]=3;
		}
		if (strcmp(d[i],"yon")==0){
			dn[i]=4;
		}
	}
	int temp;
	for(i=0;i<N;i++){
		for(j=0;j+1<N;j++){
			if(strcmp(S[j],S[j+1])>0){
				strcpy(tmp, S[j]);
				strcpy(S[j], S[j+1]);
				strcpy(S[j+1], tmp);
				strcpy(tmp, d[j]);
				strcpy(d[j], d[j+1]);
				strcpy(d[j+1], tmp);
				temp = dn[j];
				dn[j]= dn[j+1];
				dn[j+1]=temp;
			}
		}
	}
	for(i=0;i<N;i++){
		for(j=0;j+1<N;j++){
			if(dn[j]-dn[j+1] >0 && strcmp(S[j],S[j+1])==0){
				strcpy(tmp, S[j]);
				strcpy(S[j], S[j+1]);
				strcpy(S[j+1], tmp);
				strcpy(tmp, d[j]);
				strcpy(d[j], d[j+1]);
				strcpy(d[j+1], tmp);
				temp = dn[j];
				dn[j]= dn[j+1];
				dn[j+1]=temp;
			}
		}
	}
	for(i=0;i<N;i++){
		printf("%s %s\n",S[i],d[i]);
	}
	return 0;
}
0