【問題の説明】
小科さんは複数の都市に出張中ですが、ビッグデータ統計を参照し、疫病状況のリアルタイムデータを分析し、指定された並べ替え方法で指定されたシリアル番号を持つ疫病データを出力するのを手伝ってください。
2022年5月20日現在の中国の流行状況のリアルタイムデータは以下の通りです。
州と市 新たに診断されたA 無症状Bを追加 累計感染者数C 台湾 175150 0 1156291 上海 90 773 62521 香港 87 0 331881 北京 51 12 2975 四川省 20 107 2232 福建省 9 0 3163 天津 8 11 1843年 河南省 4 25 3159 広東省 3 18 7274 吉林省 2 9 40284 江蘇省 2 0 2220 広西チワン族自治区 2 17 1613 雲南省 1 2 2133 遼寧 1 3 1671年 湖北省 0 1 68398 陝西省 0 0 3278 浙江省 0 4 3133 黒竜江省 0 0 2983 山東省 0 1 2735 河北省 0 0 2004年 内モンゴル 0 0 1753年 湖南省 0 0 1393 江西省 0 1 1383 安徽省 0 6 1065 新疆 0 0 1008 重慶 0 0 708 甘粛省 0 0 681 山西省 0 0 420 海南 0 0 288 貴州省 0 0 185 青海省 0 0 147 寧夏回族自治州 0 0 122 マカオ 0 0 82 チベット 0 0 1 与えられた生データ形式
地域、 新規診断者 、 新規 無症状者 、累積確認症例数 天津、8,11,1843、 河南、4,25,3159、 広東、3,18,7274、 吉林、2,9,40284、 江蘇,2,0,2220、 広西チワン族自治区,2,17,1613, 雲南省,1,2,2133, 遼寧省,1,3,1671, 湖北省,0,1,68398, 陝西省,0,0,3278, 浙江省, 0,4,3133、 黒竜江省、0、0、2983、 山東省、0、1、2735、 河北省、0、0、2004、 内モンゴル自治区、0、0、1753、 湖南省、0、0、1393、 江西省、0 ,1,1383、 安徽省、0,6,1065、新 疆、0,0,1008、 重慶、0,0,708、 甘粛省、0,0,681、 山西省、0,0,420、海南 省、0,0,288、 貴州省、0,0,185 、 青海省、0、0、147、 寧夏回族自治区、0,0,122、 マカオ、0,0,82、 チベット、0,0,1【入力例1】
A8【出力例1】
4,25,3159【入力例2】
B2【出力例】
20,107,2232【記載例】
入力 A、B、C は、新規感染者、新規追加無症状者、累積感染者数の 3 つの列のうち 1 つのデータを指します。次の数字は、どの列のデータを降順にソートしたかを示します。同じものが見つかった場合は、前のリストを元のリストの順序で出力します。
出力データはカンマで区切られます。
データがない場合はNOを出力します
#include<stdio.h>
struct yiqing{
char place[20];
int A,B,C;
};
int main(){
struct yiqing a[35]={
"台湾",175150,0,1156291,
"上海",90,773,62521,
"香港",87,0,331881,
"北京",51,12,2975,
"四川",20,107,2232,
"福建",9,0,3163,
"天津",8,11,1843,
"河南",4,25,3159,
"广东",3,18,7274,
"吉林",2,9,40284,
"江苏",2,0,2220,
"广西",2,17,1613,
"云南",1,2,2133,
"辽宁",1,3,1671,
"湖北",0,1,68398,
"陕西",0,0,3278,
"浙江",0,4,3133,
"黑龙江",0,0,2983,
"山东",0,1,2735,
"河北",0,0,2004,
"内蒙古",0,0,1753,
"湖南",0,0,1393,
"江西",0,1,1383,
"安徽",0,6,1065,
"新疆",0,0,1008,
"重庆",0,0,708,
"甘肃",0,0,681,
"山西",0,0,420,
"海南",0,0,288,
"贵州",0,0,185,
"青海",0,0,147,
"宁夏",0,0,122,
"澳门",0,0,82,
"西藏",0,0,1},t;
int n,i,j;
char q;
scanf("%c%d",&q,&n);
if(n>34)
printf("NO");
if(q=='A'){
for(i=0;i<34;i++){
for(j=34;j>i;j--){
if(a[j].A>a[j-1].A){
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
}
printf("%d,%d,%d",a[n-1].A,a[n-1].B,a[n-1].C);
}
if(q=='B'){
for(i=0;i<34;i++){
for(j=34;j>i;j--){
if(a[j].B>a[j-1].B){
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
}
printf("%d,%d,%d",a[n-1].A,a[n-1].B,a[n-1].C);
}
if(q=='C'){
for(i=0;i<34;i++){
for(j=34;j>i;j--){
if(a[j].C>a[j-1].C){
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
}
printf("%d,%d,%d",a[n-1].A,a[n-1].B,a[n-1].C);
}
return 0;
}