Week2 Aは-化学
化学反応は以下のアルカングループで、素晴らしいです。
図は、数字の組に続いて、1~6、アルカン基は、それぞれ6個の原子と化学結合5、符号6個の原子を有する、上記の仮定、bが原子と原子Bとの間の化学結合を表します。こうしてライン5 aで、Bは、アルカニルとして記述することができ
あなたの仕事は、パラフィン系カテゴリをスクリーニングすることです。
など何原子の番号付けない、
1 2
2 3
3 4
4 5
5 6
と
1. 3
2 3
2 4
4 5
5 6
と同じである、本質的に連鎖され、実際には、数の間には関係がありません、あなたが紙の上に描くことができ理解する
入力
グループ数T(1≤T≤200000)データの最初の行を入力します。二つの整数、Bのデータライン(1≤a、b≤6、群当たり5 ≤b)
保証データ入力アルカングループは5の1以上であります
出力
各データ出力ライン、代表アルカニルの英語名
例えば
、入力
2
1 2
2 3
3 4
4 5
5 6
1 4
2 3
3 4
4 5
5 6
出力
n-ヘキサン
-3-メチルペンタン
記録のアレイ使用
の接続の最大数が決定されます
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
int b1[5],b2[5];
int c[7],pp[7];
for(int i=0;i<a;i++){//输入
for(int j=0;j<7;j++){c[j]=0;pp[j]=0;
}
cin>>b1[0]>>b2[0];
cin>>b1[1]>>b2[1];
cin>>b1[2]>>b2[2];
cin>>b1[3]>>b2[3];
cin>>b1[4]>>b2[4];
for(int y=1;y<=6;y++){
for(int u=0;u<5;u++){
if(b1[u]==y)c[y]++;
}
for(int u=0;u<5;u++){
if(b2[u]==y)c[y]++;
}
}
int yy=0;
int point=0;
//计算出每个图形中最大连接数yy
for(int y=1;y<7;y++){
if(c[y]==4){yy=4;break;
}else if(c[y]==3){point=y;
yy++;
}
}
for(int y=1;y<7;y++){
if(c[y]==1){pp[y]=1;
}
}
int t=0;
//for(int p=1;p<7;p++)cout<<p<<"p="<<c[p]<<endl;
//用最大连接数yy判断
if(yy==4){cout<<"2,2-dimethylbutane"<<endl;
}else if(yy==2){cout<<"2,3-dimethylbutane"<<endl;
}else if(yy==1){for(int h=0;h<5;h++){
//2-methylpentane跟3-methylpentane有同样的最大连接数 要再进行判断
if(b1[h]==point&&pp[b2[h]]==1){t++;
}else if(b2[h]==point&&pp[b1[h]]==1){t++;
}
}
if(t==2){cout<<"2-methylpentane"<<endl;
}else{cout<<"3-methylpentane"<<endl;
}
}else if(yy==0){cout<<"n-hexane"<<endl;
}
}
}