提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、T172096 课程
#include<iostream>
using namespace std;
int n,m,num[22];
int main(){
cin>>n>>m;
for(int i=1,t;i<=n+m;i++){
cin>>t;
num[t]++;
}
int dn=0;
for(int x=1;x<=20;x++)if(num[x]==2)dn+=1;
cout<<dn<<endl;
return 0;
}
二、T172097 序列
#include<iostream>
using namespace std;
int n,k;
int a[1005];
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++)cin>>a[i];
int sum=0;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++){
long long x=1;
x*=a[i];
x*=a[j];
if(x<=k)sum+=1;
}
cout<<sum<<endl;
return 0;
}
三、T172098 子串
#include<iostream>
using namespace std;
int T,n,m;
string a,b;
int main(){
cin>>T;
while(1){
cin>>n>>m>>a>>b;
for(int i=0;i<n;i++)if(a[i]>='a'&&a[i]<='z')a[i]=a[i]-'a'+'A';
for(int i=0;i<m;i++)if(b[i]>='a'&&b[i]<='z')b[i]=b[i]-'a'+'A';
int dn=0;
for(int i=0;i<=m-n;i++){
int now=1;
for(int j=0;j<n;j++)if(a[j]!=b[j+i])now=0;
dn+=now;
}
cout<<dn<<endl;
T--;
if(T==0)break;
}
return 0;
}
四、T172099 打牌
#include<iostream>
using namespace std;
int n,m;
int have[5][55];
int used[5];
int game(){
int player=0,stop=0,num=0,id=0;
while(1){
int cando=0;
int i,j;
for(i=1;i<=n;i++)if(i>=num){
for(j=1;j<=m;j++)if((have[player][j]>=i)&&((i==num&&j>id)||i>num)){
cando=1;
break;
}
if(cando)break;
}
if(cando==0){
stop+=1;
if(stop==2){
num=0;
id=0;
stop=0;
}
}else{
stop=0;
have[player][j]-=i;
used[player]+=i;
if(used[player]==n){
return player+1;
}
num=i;id=j;
}
player=(player+1)%3;
}
}
int main(){
cin>>n>>m;
for(int i=0;i<3;i++)
for(int j=1,t;j<=n;j++){
cin>>t;
have[i][t]+=1;
}
cout<<game()<<endl;
return 0;
}
五、T172100 商店
#include<iostream>
#include<algorithm>
using namespace std;
int a[100009],b[100009];
int n,m;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=m;i++)cin>>b[i];
sort(a+1,a+n+1);sort(b+1,b+m+1);
int dn=0;
int i=1,j=1;
while(i<=n&&j<=m){
while(i<=n&&a[i]<b[j]){
i+=1;
}
if(i<=n){
dn+=1;
j+=1;
i+=1;
}
}
cout<<dn<<endl;
return 0;
}