HDU 5510 Bazinga
生活随笔
收集整理的這篇文章主要介紹了
HDU 5510 Bazinga
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
HDU 5510 Bazinga
題意:
依次給你n個字符串,讓你找到編號最大的字符串,存在一個比他編號小的字符串且不是其子串
題解:
string中有find查找功能,
思路是用一個vector來存之前所有字符串,數(shù)組book用來表示,book[j]=1說明在當(dāng)前串s[i]中找得到vec[j],否則記錄當(dāng)前答案
vector和book相配合使得s[i]每次find查找的串是之前彼此找不到的串,這樣可以減少find次數(shù)
代碼:
#include <bits/stdc++.h> using namespace std; #define asd cout<<" SB "<<endl; #define ll long long #define ull unsigned long long #define INF 0x3f3f3f3f int main(){ios::sync_with_stdio(0);int t;cin>>t;for(int I=0;I<t;++I){int n;cin>>n;vector<string> s(n),v;vector<bool> book(n,0);cin>>s[0];v.push_back(s[0]);int ans=-1;for(int i=1;i<n;++i){cin>>s[i];for(int j=0;j<v.size();++j){if(book[j]) continue;int pos=s[i].find(v[j]);if(pos!=-1){book[j]=1;}else{ans=i;}}v.push_back(s[i]);}if(ans==-1){cout<<"Case #"<<I+1<<": "<<-1<<endl;}else cout<<"Case #"<<I+1<<": "<<ans+1<<endl;}return 0; }總結(jié)
以上是生活随笔為你收集整理的HDU 5510 Bazinga的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 风调雨顺的反义词
- 下一篇: Pagodas HDU - 5512