📄 3394351_wa.cpp
字号:
#include<iostream>
#include<string>
using namespace std;
struct data
{
char father[10];
char son[10];
int age;
};
data input[101];
int data_number,data_number1,t,i,j,k,l,input_number,cout_number;
char person[101][101][10];
char temp[10],temp1[10];
int number[101];
void insert(int z)
{
for(l=1;l<=number[i-input[k].age];l++)
{
if(strcmp(person[i-input[k].age][l],input[k].son)<0) continue;
else
{
strcmp(temp,person[i-input[k].age][l]);
strcmp(person[i-input[k].age][l],input[k].son);
while(person[i-input[k].age][l+1][0]!='0')
{
strcmp(temp1,person[i-input[k].age][l+1]);
strcmp(person[i-input[k].age][l+1],temp);
strcmp(temp,temp1);
l++;
}
strcmp(person[i-input[k].age][l+1],temp);
return;
}
}
strcpy(person[i-input[k].age][l],input[k].son);
}
void search(int x,int y)
{
for(k=1;k<=input_number;k++)
{
if(strcmp(input[k].father,person[x][y])==0)
{
insert(k);number[i-input[k].age]++;
strcpy(input[k].father,input[input_number].father);
strcpy(input[k].son,input[input_number].son);
input[k].age=input[input_number].age;
input_number--;
k--;
}
}
}
int main ()
{
cout_number=0;
cin>>data_number;
for(data_number1=0;data_number1<data_number;data_number1++)
{
cin>>t;
input_number=t;
for(i=1;i<=100;i++)
{
number[i]=0;
for(j=1;j<=100;j++)
{
person[i][j][0]='0';
}
}
strcpy(person[100][1],"Ted");number[100]=1;
for(i=1;i<=t;i++)
{
cin>>input[i].father;
cin>>input[i].son;
cin>>input[i].age;
}
for(i=100;i>=1;i--)
{
for(j=1;j<=number[i];j++)
{
if(person[i][j][0]!='0') search(i,j);
}
}
if(cout_number==0) cout_number++;
else cout<<endl;
cout<<"DATASET "<<data_number1+1;
for(i=99;i>=1;i--)
{
for(j=1;j<=number[i];j++)
{
if(person[i][j][0]!='0') cout<<endl<<person[i][j]<<" "<<i;
}
}
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -