P1056 排座椅
#include <bits/stdc++.h>
using namespace std;
struct h
{
int id,num;
} x[1200],y[1200];
int cmp(const h &a,const h &b)
{
return a.num>b.num;
}
int cmp1(const h &c,const h &q)
{
return c.id<q.id;
}
int main()
{
int m,n,k,l,d;
cin>>m>>n>>k>>l>>d;
int x1,y1,x2,y2;
for(int i=0; i<d; i++)
{
cin>>y1>>x1>>y2>>x2;
if(x1==x2)
{
int t=min(y1,y2);
x[t].num++;
x[t].id=t;
}
if(y1==y2)
{
int t=min(x1,x2);
y[t].num++;
y[t].id=t;
}
}
sort(x,x+m,cmp);
sort(y,y+n,cmp);
sort(x,x+k,cmp1);
sort(y,y+l,cmp1);
for(int i=0; i<k; i++)
cout<<x[i].id<<" ";
cout<<endl;
for(int i=0; i<l; i++)
cout<<y[i].id<<" ";
return 0;
}
P1328 生活大爆炸版石头剪刀布
#include <bits/stdc++.h>
using namespace std;
int n,na,nb;
int a[210],b[210];
int ans=0,bns=0;
int numa=0,numb=0;
int main()
{
cin>>n>>na>>nb;
for(int i=0; i<na; i++)
cin>>a[i];
for(int i=0; i<nb; i++)
cin>>b[i];
for(int i=0; i<n; i++)
{
if(a[numa]==0&&b[numb]==1) bns++;
if(a[numa]==0&&b[numb]==2) ans++;
if(a[numa]==0&&b[numb]==3) ans++;
if(a[numa]==0&&b[numb]==4) bns++;
if(a[numa]==1&&b[numb]==0) ans++;
if(a[numa]==1&&b[numb]==2) bns++;
if(a[numa]==1&&b[numb]==3) ans++;
if(a[numa]==1&&b[numb]==4) bns++;
if(a[numa]==2&&b[numb]==0) bns++;
if(a[numa]==2&&b[numb]==1) ans++;
if(a[numa]==2&&b[numb]==3) bns++;
if(a[numa]==2&&b[numb]==4) ans++;
if(a[numa]==3&&b[numb]==0) bns++;
if(a[numa]==3&&b[numb]==1) bns++;
if(a[numa]==3&&b[numb]==2) ans++;
if(a[numa]==3&&b[numb]==4) ans++;
if(a[numa]==4&&b[numb]==0) ans++;
if(a[numa]==4&&b[numb]==1) ans++;
if(a[numa]==4&&b[numb]==2) bns++;
if(a[numa]==4&&b[numb]==3) bns++;
numa++;
numb++;
if(numa==na)
numa=0;
if(numb==nb)
numb=0;
}
cout<<ans<<" "<<bns;
return 0;
}
P1563 玩具谜题
#include <bits/stdc++.h>
using namespace std;
struct toy
{
int zy;
string name;
} x[100100];
int main()
{
int m,n;
cin>>n>>m;
for(int i=0; i<n; i++)
cin>>x[i].zy>>x[i].name;
int res=0;
int a,s;
for(int i=0; i<m; i++)
{
cin>>a>>s;
if(x[res].zy==0&&a==0)
res=(res+n-s)%n;
else if(x[res].zy==0&&a==1)
res=(res+n+s)%n;
else if(x[res].zy==1&&a==0)
res=(res+n+s)%n;
else if(x[res].zy==1&&a==1)
res=(res+n-s)%n;
}
cout<<x[res].name;
return 0;
}