#include <iostream>
#include <stdio.h>
using namespace std;
int k,c=0;
char a[100000][4],temp[4],s;
int match(int o);
int main()
{
while (scanf("%d",&k)==1)
{
s=getchar();
if (s==EOF)
return 0;
int at=0;
for (int i=0;i<k;i++)
{
temp[0]=getchar();
temp[1]=getchar();
temp[2]=getchar();
temp[3]=getchar();
s=getchar();
if (at==0)
{
a[0][0]=temp[0];
a[0][1]=temp[1];
a[0][2]=temp[2];
a[0][3]=temp[3];
at++;
printf("New! 1\n");
}
else
{
for (int o=0;o<at;o++)
{
if (match(o))
{
printf("Old! %d\n",o+1);
c=1;
}
}
if (c==0)
{
a[at][0]=temp[0];
a[at][1]=temp[1];
a[at][2]=temp[2];
a[at][3]=temp[3];
printf("New! %d\n",at+1);
at++;
}
else
c=0;
}
}
}
//system("pause");
return 0;
}
int match(int o)
{
for (int y=0;y<4;y++)
{
if (a[o][y]!=temp[y])
return 0;
}
return 1;
}
本來讀取會造成WA line:6
改好之後一直試都TLE.....
#include
#include
using namespace std;
int k,c=0;
char a[100000][4],temp[4],s;
int match(int o);
int main()
{
while (scanf("%d",&k)==1)
{
s=getchar();
if (s==EOF)
return 0;
int at=0;
for (int i=0;i
{
temp[0]=getchar();
temp[1]=getchar();
temp[2]=getchar();
temp[3]=getchar();
s=getchar();
if (at==0)
{
a[0][0]=temp[0];
a[0][1]=temp[1];
a[0][2]=temp[2];
a[0][3]=temp[3];
at++;
printf("New! 1\n");
}
else
{
for (int o=0;o
{
if (match(o))
{
printf("Old! %d\n",o+1);
c=1;
}
}
if (c==0)
{
a[at][0]=temp[0];
a[at][1]=temp[1];
a[at][2]=temp[2];
a[at][3]=temp[3];
printf("New! %d\n",at+1);
at++;
}
else
c=0;
}
}
}
//system("pause");
return 0;
}
int match(int o)
{
for (int y=0;y<4;y++)
{
if (a[o][y]!=temp[y])
return 0;
}
return 1;
}
本來讀取會造成WA line:6
改好之後一直試都TLE.....