YbtOJ 字串處理課堂過關 例4 字串環【bfs】
阿新 • • 發佈:2021-01-23
題目
思路
這道題我們可以直接模擬尋找過程。
先把能合併的生日和名字合併,
然後再把重複人數大於等於二的提取出來,
最後關鍵字排序輸出。
程式碼
#include<algorithm>
#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<cmath>
using namespace std;
int n,w,zsl;
struct node
{
string s;
int sy,sr;
}a[10010];
struct node2
{
string s2[100];
int sy2,sr2,cc;
}a2[10010];
struct node3
{
string s3[100];
int sy3,sr3,ccc;
}a3[10010];
bool cmp(const node&x,const node&y)
{
if(x.s.size()==y.s.size())
return x.s<y.s;
else
return x.s.size()<y.s.size();
}
bool cmp2(const node3& x,const node3&y)
{
if(x.sy3!=y.sy3)
return x.sy3<y.sy3;
if(x.sy3==y.sy3)
return x.sr3<y.sr3;
}
int main()
{
cin>>n;
for(int i=1; i<=n; i++)
cin>>a[i].s>>a[i].sy>>a[i].sr;
sort(a+1,a+1+n,cmp);
/*for(int i=1; i<=n; i++)
cout<<a[i].s<<" "<<a[i].sy<<" "<<a[i].sr<<endl;*/
for(int i=1; i<=n; i++) 合併相同生日