寫的不是很精簡QQ
程式碼:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int t,n,temp;
cin>>t;
for(int r=1;r<=t;r++)
{
cout<<"Case #"<<r<<":"<<endl;
vector<int> v[3],vn[3];
vector<int>::iterator it1,it2;
for(int i=0;i<3;i++)
{
cin>>n;
for(int j=0;j<n;j++)
{
cin>>temp;
v[i].push_back(temp);
}
}
int record[3]={0};
for(int i=0;i<v[0].size();i++)
{
it1=find(v[1].begin(),v[1].end(),v[0][i]);
it2=find(v[2].begin(),v[2].end(),v[0][i]);
if(it1==v[1].end()&&it2==v[2].end()) vn[0].push_back(v[0][i]),record[0]++;
}
for(int i=0;i<v[1].size();i++)
{
it1=find(v[0].begin(),v[0].end(),v[1][i]);
it2=find(v[2].begin(),v[2].end(),v[1][i]);
if(it1==v[0].end()&&it2==v[2].end()) vn[1].push_back(v[1][i]),record[1]++;
}
for(int i=0;i<v[2].size();i++)
{
it1=find(v[0].begin(),v[0].end(),v[2][i]);
it2=find(v[1].begin(),v[1].end(),v[2][i]);
if(it1==v[0].end()&&it2==v[1].end()) vn[2].push_back(v[2][i]),record[2]++;
}
int Max=max(record[0],record[1]);
Max=max(Max,record[2]);
for(int i=0;i<3;i++)
{
if(Max==record[i])
{
sort(vn[i].begin(),vn[i].end());
cout<<i+1<<" "<<record[i];
for(int j=0;j<vn[i].size();j++)
cout<<" "<<vn[i][j];
cout<<endl;
}
}
}
return 0;
}
沒有留言:
張貼留言