ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#195421 | #3418. 鹅鸭杀 | XL30 | 100 | 5ms | 1472kb | C++ | 1.3kb | 2023-10-18 19:01:37 | 2023-10-18 22:11:13 |
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
int n;
struct re{
string name;
string id;
string place;
}a[1020];
struct wy{
string nam;
bool vis;
}b[1020];
string s;
bool cmp(re x,re y){
if(x.place==y.place)return x.id<y.id;
return x.place<y.place;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>n;
int i=n+1;
for(int i=1;i<=n+1;i++){
int f=0;
getline(cin,s);
for(int j=0;j<s.size();j++){
if(s[j]==' '&&f==0){
a[i-1].name=s.substr(0,j);
f=1;
}
if(s[j]=='a'&&s[j+1]==' '){
if(s[j+6]==',')a[i-1].id="duck";
else a[i-1].id="goose";
}
if(s[j-1]=='a'&&s[j]=='t'&&s[j+1]==' '){
a[i-1].place=s.substr(j+2);
}
}
}
for(int i=1;i<=n;i++){
b[i].nam=a[i].name;
b[i].vis=false;
}
sort(a+1,a+n+1,cmp);
bool f=0;
string t;
for(int i=1;i<=n;i++){
if(a[i].id=="duck"){
f=1;
t=a[i].place;
}else{
if(a[i].id=="goose"&&f==1&&t==a[i].place){
for(int j=1;j<=n;j++){
if(b[j].nam==a[i].name){
b[j].vis=true;
break;
}
}
}else f=0;
}
}
for(int i=1;i<=n;i++){
cout<<b[i].nam<<" is ";
if(b[i].vis==false)cout<<"alive"<<endl;
else cout<<"dead"<<endl;
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1300kb
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: 1304kb
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: 1312kb
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: 1312kb
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: 1312kb
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: 1308kb
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: 1312kb
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: 0ms
memory: 1468kb
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: 2ms
memory: 1472kb
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: 2ms
memory: 1468kb
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