A.雪花
#include<stdio.h>
int snow1[100005];
int snow2[100005];
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)scanf("%d",&snow1[i]);
for(int i=0;i<n;i++)scanf("%d",&snow2[i]);
bool flag=false;
for(int i=0;i<n;i++)
{
int j;
for(j=0;j<n;j++)
{
if(snow1[j]!=snow2[(j+i)%n])break;
}
if(j==n){
flag=true;
break;
}
}
if(flag==false){
for(int i=0;i<n;i++)
{
int j;
for(j=0;j<n;j++)
{
if(snow1[j]!=snow2[(i-j+n)%n])break;
}
if(j==n){
flag=true;
break;
}
}
}
if(flag)puts("YES");
else puts("NO");
}
B.打印代码
#include<stdio.h>
int main()
{
printf("#include<bits/stdc++.h>\nusing namespace std;\nint main()\n{\nint a;\ncin>>a;\na=a%10;\nprintf(\"%%d\\n\",a);\n}");
}
C.鱼
#include<stdio.h>
using namespace std;
int main()
{
int a;
//cin>>a;
scanf("%d",&a);
for(int i=1;i<=a;i++)
{
for(int j=1;j<=a;j++)
{
printf("*");
}
for(int j=1;j<=3*(a-i);j++)
{
if(2*(a-i)+1==1)
{
break;
}
printf(" ");
}
for(int j=1;j<=2*i-1;j++)
{
printf("*");
}
for(int j=1;j<=3*(i+1);j++)
{
printf("*");
}
puts("");
if(i==a)
{
break;
}
for(int j=1;j<=i;j++)
{
printf(" ");
}
}
for(int i=a;i>=1;i--)
{
for(int j=1;j<i;j++)
{
printf(" ");
}
for(int j=1;j<=a;j++)
{
printf("*");
}
for(int j=1;j<=3*(a-i);j++)
{
printf(" ");
}
for(int j=1;j<=2*i-1;j++)
{
printf("*");
}
for(int j=1;j<=3*(i+1);j++)
{
printf("*");
}
if(i==1)
{
break;
}
puts("");
}
}
D.阿蒙的聚合和分裂
#include<stdio.h>
int main()
{
int k,n;
scanf("%d%d",&k,&n);
int sumpower=0,power;
for(int i=1;i<=n;i++){
scanf("%d",&power);
sumpower+=power;
}
printf("%d",sumpower/k);
}
E.阿蒙的聚合和分裂plus
#include<stdio.h>
int main()
{
int N=100100;
int n,k,a[N],sum=0;
scanf("%d %d",&k,&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
if(k==1)
{
int res=0;
sum=0;
for(int i=0;i<n;i++)
{
if(a[i]==1)res++;
else if(a[i]>1)sum+=a[i];
}
if(sum>0)res+=sum-1;
printf("%d",res);
}
else printf("%d",sum/k);
}
F.吃糖果
#include<stdio.h>
void check(){
int i,j,n,sum=0,max=0;
scanf("%d",&n);
for(i=1;i<=n;++i){
scanf("%d",&j);
if(j>max)max=j;
sum+=j;
}
if(sum+2>max*2)puts("Yes");
else puts("No");
}
int main(){
int i,t;
scanf("%d",&t);
for(i=1;i<=t;++i)check();
return 0;
}
G.爱玩吉他的小宋学长
#include<bits/stdc++.h>
using namespace std;
const int N=100;
int t,s;
int main()
{
cin>>t;
string a;
while(t--)
{
int cnt=0;
char str[N][2];
cin>>s>>a;
for(int i=0;i<s-1;i++)
{
char now[2];
int flag=0;
now[0]=a[i];
now[1]=a[i+1];
for(int j=0;j<cnt;j++)
{
if(str[j][0]==now[0])
if(str[j][1]==now[1])
{
flag=1;
break;
}
}
if(flag) continue;
str[cnt][0]=now[0];
str[cnt++][1]=now[1];
}
cout<<cnt<<endl;
}
}
H.装箱
#include<stdio.h>
#include<math.h>
typedef long long ll;
ll f[20005];
ll w[20005];
max(int num1,int num2){
if(num1>num2)return num1;
else return num2;
}
int main()
{
int T,M;
scanf("%d%d",&T,&M);
for(int i=1;i<=M;i++)
{
scanf("%lld",&w[i]);
}
for(int i=1;i<=M;i++)
{
for(int j=T;j>=w[i];j--)
{
f[j]=max(f[j],f[j-w[i]]+w[i]);
}
}
printf("%d",T-f[T]);
}
I.素数同伴
#include<stdio.h>
int gcd(int a,int b)
{
if(b==0)return a;
return gcd(b,a%b);
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int a,b;
scanf("%d%d",&a,&b);
int cnt=0,i=1;
while(1)
{
if(gcd(a,i)==1)cnt++;
if(cnt==b){printf("%d\n",i);break;}
i++;
}
}
}
J.二分查找
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
typedef long long ll;
const ll num=1e6+7;
int n,m,x;
ll a[num];
void Find(int x,int l,int r)
{
int mid=(l+r)/2;
if(l==r&&a[l]>x){
cout<<a[l]<<endl;
return;
}
if(a[mid]==x){
cout<<x<<endl;
return;
}
if(r<0||l>=n-1){
cout<<-1<<endl;
return ;
}
if(a[mid]>x){
Find(x,l,mid);
}else if(a[mid]<x){
Find(x,mid+1,r);
}
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
for(int i=0;i<m;i++)
{
scanf("%d",&x);
Find(x,0,n-1);
}
}
K.零钱交易
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int m50=N/50;
int sum=0;
for(int i=0;i<=m50;i++)
{
int yu1=N-50*i;
int m25=yu1/25;
for(int j=0;j<=m25;j++)
{
int yu2=yu1-25*j;
int m10=yu2/10;
for(int k=0;k<=m10;k++)
{
int yu3=yu2-k*10;
int m5=yu3/5;
sum+=m5+1;
}
}
}
printf("%d",sum);
}
L.规则怪谈
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,cnt=0;
vector<int>q,cun,fang[10010];
cin>>n;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
q.push_back(x);
}
int sum=0;
while(!q.empty())
{
if(!cun.empty()&&sum+cun.front()<=30)
{
sum+=cun.front();
fang[cnt].push_back(cun.front());
cun.erase(cun.begin());
if(sum==30)sum=0,cnt++;
}
else if(sum+q.front()>30)
{
cun.push_back(q.front());
q.erase(q.begin());
}
else
{
sum+=q.front();
fang[cnt].push_back(q.front());
q.erase(q.begin());
if(sum==30)sum=0,cnt++;
}
}
sum=0;
if(!fang[cnt].empty())cnt++;
while(!cun.empty())
{
if(sum+cun.back()>30)
{
sum=0;cnt++;
}
else
{
sum+=cun.back();
fang[cnt].push_back(cun.back());
cun.pop_back();
}
}
cnt++;
cout<<cnt<<endl;
for(int i=0;i<cnt;i++)
{
sum=0;
for(auto q:fang[i])
{
sum+=q;
cout<<q<<" ";
}
cout<<sum<<endl;
}
}