UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#195636#3418. 鹅鸭杀weijiatong10056ms1336kbC++111.5kb2023-10-18 19:57:332023-10-18 22:28:24

answer

#include<bits/stdc++.h>
#define ll long long
#define ull usigned long long
#define N 1005
int n;
struct EEY{
	#define M 25
	char name[M];//姓名 
	char identity[M];//身份
	char pos[M];//位置 
}a[N];
int ce;
char Na[M],Id[M],Po[M];
inline bool Same(char A[],char B[]){
	int len=strlen(A);
	if(len!=strlen(B)) 
		return false;
	for(int i=0;i<len;i++)
		if(A[i]!=B[i])
			return false;
	return true;
}
inline void Copy(char A[],char B[]){
	for(int i=0;i<strlen(A);i++)
		B[i]=A[i];return;
}
int Died[N],id;
char goose[6]={'g','o','o','s','e'};
char duck[5]={'d','u','c','k'};
std::string s;
int main(){
	scanf("%d",&n);
	for(register int i=1;i<=n;i++){
		std::cin>>Na;
		std::cin>>s>>s;
		int L=0;char ch=getchar();
		while(ch==' ') ch=getchar();
		memset(Id,0,sizeof(Id));
		while(ch!=',') 
			Id[L++]=ch,ch=getchar();
		std::cin>>s>>s>>s;
		std::cin>>Po;
		bool Fin=false;
		for(register int j=1;j<=ce;j++){
			if(Same(a[j].name,Na)){
				Copy(Po,a[j].pos);
				Copy(Id,a[j].identity);
				id=j;Fin=true;break;
			}
		}if(!Fin){
			ce++;id=ce;
			Copy(Na,a[ce].name);
			Copy(Id,a[ce].identity);
			Copy(Po,a[ce].pos);
		}
		if(Same(Id,goose)){
			for(int j=1;j<=ce;j++){
				if(Same(a[j].identity,duck)&&Same(a[j].pos,Po)){
					Died[id]=1;
					break; 
				}
			}
		}else{
			for(int j=1;j<=ce;j++){
				if(Same(a[j].identity,goose)&&Same(a[j].pos,Po)){
					Died[j]=1;
				}
			}
		}
	}
	for(int i=1;i<=ce;i++){
		printf("%s is ",a[i].name);
		if(Died[i]) puts("dead");
		else puts("alive");
	}
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1268kb

input:

1
DnONuKkfsK is a duck, it is at VxdjvTXugQrxHcBy

output:

DnONuKkfsK is alive

result:

ok single line: 'DnONuKkfsK is alive'

Test #2:

score: 10
Accepted
time: 0ms
memory: 1268kb

input:

1
h is a goose, it is at DgPHXhVJtkESkHmf

output:

h is alive

result:

ok single line: 'h is alive'

Test #3:

score: 10
Accepted
time: 0ms
memory: 1268kb

input:

2
HRiAYWN is a goose, it is at EL
dgwgYboiuaytmJOAv is a duck, it is at EL

output:

HRiAYWN is dead
dgwgYboiuaytmJOAv is alive

result:

ok 2 lines

Test #4:

score: 10
Accepted
time: 0ms
memory: 1264kb

input:

2
izNydjl is a goose, it is at qYWlAosa
EISnxurnHqHNKDD is a goose, it is at qYWlAosa

output:

izNydjl is alive
EISnxurnHqHNKDD is alive

result:

ok 2 lines

Test #5:

score: 10
Accepted
time: 1ms
memory: 1264kb

input:

10
NSWzSOl is a duck, it is at VCLAQReUMFYoH
owVUjFuAPuutSaKhLqh is a duck, it is at ZYPmZsegdxJOuB
...

output:

NSWzSOl is alive
owVUjFuAPuutSaKhLqh is alive
iamfqstvZbCYSDhlDnbq is alive
T is alive
zGub is alive...

result:

ok 10 lines

Test #6:

score: 10
Accepted
time: 0ms
memory: 1264kb

input:

10
kjbxCSWpMH is a duck, it is at FIlDOBA
gxRn is a duck, it is at zXofss
vIFtyFL is a duck, it is a...

output:

kjbxCSWpMH is alive
gxRn is alive
vIFtyFL is alive
PFeZj is alive
uEy is alive
qnoZYPzR is alive
Rff...

result:

ok 10 lines

Test #7:

score: 10
Accepted
time: 0ms
memory: 1268kb

input:

10
CdhUNaBieDYujJ is a goose, it is at ftZTshCjDGgjvPZ
e is a duck, it is at HHvP
fnjTJMUYgydjEeAFet...

output:

CdhUNaBieDYujJ is alive
e is alive
fnjTJMUYgydjEeAFet is alive
Vvc is alive
MLHmWVs is alive
AYDTmkf...

result:

ok 10 lines

Test #8:

score: 10
Accepted
time: 18ms
memory: 1332kb

input:

1000
zS is a duck, it is at uZoViqfzXzBHnojfjo
WUzyrypHYFMkE is a goose, it is at RqXtorsLNPVXWX
mbV...

output:

zS is alive
WUzyrypHYFMkE is dead
mbVP is alive
iWelC is alive
DqMTir is alive
Zr is alive
BsHCmmN i...

result:

ok 1000 lines

Test #9:

score: 10
Accepted
time: 20ms
memory: 1336kb

input:

1000
luK is a duck, it is at Jr
kz is a duck, it is at Q
momuTR is a duck, it is at beRModCS
HmqEgsw...

output:

luK is alive
kz is alive
momuTR is alive
HmqEgswLg is dead
uFNEeUULkDT is alive
uQgDGhomNgYQuwndOxKn...

result:

ok 1000 lines

Test #10:

score: 10
Accepted
time: 17ms
memory: 1332kb

input:

1000
IbBJmdORPKZQEUANbGl is a duck, it is at OJplxaPZjvPj
BzokAqyWjUIVWu is a duck, it is at xxYRvKG...

output:

IbBJmdORPKZQEUANbGl is alive
BzokAqyWjUIVWu is alive
tLHbuTjOxzopobuOMg is alive
rLeadcccgsTAuIbpOGU...

result:

ok 1000 lines

Extra Test:

score: 0
Extra Test Passed