Significado de las preguntas:
La figura es una estructura química de un grupo alcano, el grupo alcano tiene 6 átomos y enlaces químicos cinco, seis átomos numerados del 1 al 6, con un par de números a, b representa un enlace químico entre los átomos A y el átomo b.
Por lo tanto, con cinco pares de números pueden representar un grupo de alcanos. Nuestra misión es la detección categorías (Figura cinco) a base de parafina. Los átomos no hay medios de referencia específico, tal como (1,2), (2,3), (3,4), (4,5), (5,6) y (1,3), (2,3), (2,4), (4,5), (5,6) es esencialmente el mismo, son los grupos alcano.
entrada:
Introduce el número de grupos T (1≤T≤200000) un primer datos de comportamiento. 5 cada uno líneas de datos de dos números enteros a, b (1≤a, b≤6, un ≤b).
garantía de los datos, se introduce alcanilo uno de cinco o más.
Entrada sencilla: 2
1 2
2 3
3 4
4 5
5 6
1 4
2 3
3 4
4 5
5 6
salida:
Cada conjunto de datos, una línea de salida, el nombre Inglés de la alcanilo representante
Salida simple:
n-hexano
3-metilpentano
ideas:
Debido a que no hay forma fija de números, no es a partir de un punto de referencia, es decir, un enlace debe partir de la relación entre los puntos, el número de enlaces químicos es constante, diferentes tipos de alcanilo producen debido a las diferentes categorías de una el número de diferentes átomo de enlaces químicos, es decir, un número diferente de átomos de átomo, se puede encontrar a través de la observación, un átomo de entre los átomos y que tiene al menos un enlace químico, y hasta cuatro átomos unidos químicamente, así, creamos una hay seis elementos de la matriz, el número de átomos por átomo de Guardar y, a continuación, calcular el número de conexiones se 1,2,3,4 átomos. Si el número de conexiones es el número de átomos de 4 a 1, en comparación con el 2,2-dimetilbutano; 4 si el número de conexiones es la ausencia de conexiones es el número de átomos de 3 a 2, para la 2,3-dimetilbutano, si el número de conexiones el número total de átomos que los unen todo número átomo adyacente de 2 a 4 fue n-hexano, si el número de conexiones es el número de átomos de 3 a 1, es necesario con diferentes situaciones, en donde el átomo (número atómico de conexión 3) es 5, en comparación con 3-metilpentano, de lo contrario, para el 2-metilpentano.
código:
#include <iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
void judge(int *num[])
{
int a[7];
memset(a,0,sizeof(int)*7);
for(int i=0;i<5;i++)
{
a[num[i][0]]++;
a[num[i][1]]++;
}
int c[5];
memset(c,0,sizeof(int)*5);
for(int i=1;i<7;i++)
{
int temp=a[i];
c[temp]++;
}
if(c[4]==1)
{
printf("%s\n","2,2-dimethylbutane");
}
if(c[3]==2)
{
printf("%s\n","2,3-dimethylbutane");
}
if(c[2]==4)
{
printf("%s\n","n-hexane");
}
if(c[3]==1)
{
int temp;
for(int i=1;i<=6;i++)
{
if(a[i]==3)
{
temp=i;
break;
}
}
int number=0;
for(int i=0;i<5;i++)
{
if(num[i][0]==temp)
number+=a[num[i][1]];
if(num[i][1]==temp)
number+=a[num[i][0]];
}
if(number==5)
printf("%s\n","3-methylpentane");
else
printf("%s\n","2-methylpentane");
}
}
int main(int argc, char** argv) {
int n;
int**num=new int*[5];
for(int i=0;i<5;i++)
num[i]=new int[2];
scanf("%d",&n);
getchar();
for(int i=0;i<n;i++)
{
for(int i=0;i<5;i++)
{
scanf("%d %d",&num[i][0],&num[i][1]);
getchar();
}
judge(num);
}
return 0;
}