最后一次模拟
1、防雾霾
#include <stdio.h>
int main()
{
int n;
int x,a=0,m,tmp;
scanf("%d%d",&n,&m);
tmp=m;
while(n--)
{
scanf("%d",&x);
tmp-=x;
if(tmp<=0) tmp=m,a++;
}
if(tmp<m) a++;
printf("%d",a);
return 0;
}
2、记数问题
#include <stdio.h>
int n,x;
int get(int s)
{
int res=0;
while(s)
{
if((s%10)==x) res++;
s/=10;
}
return res;
}
int main()
{
scanf("%d%d",&n,&x);
int i=0,ans=0;
for(i=1;i<=n;i++)
ans+=get(i);
printf("%d",ans);
return 0;
}
3、终极大奖
就是个约瑟夫问题把你个退役憨批搞的这么狼狈
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int a[123];
while(1)
{
int n,m;
scanf("%d%d",&n,&m);
if(n==0 && m==0) break;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int suv=n,tmp=1;
while(1)
{
int cnt=0;
while(1)
{
if(a[tmp]==0)
{
while(a[tmp]==0)
{
tmp++;
if(tmp>n) tmp=1;
}
}
cnt++;
if(cnt==m) break;
tmp++;
if(tmp>n) tmp=1;
}
a[tmp]--;
if(a[tmp]==0) suv--;
if(suv==1) break;
tmp++;
if(tmp>n) tmp=1;
}
for(int i=1;i<=n;i++)
if(a[i])
{
printf("%d\n",i);
break;
}
}
return 0;
}
4、煎鸡排
生的先煎,没有生的了再考虑半生的
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int a[1234];
int n,k;
int main()
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++) a[i]=2;
int ans=0;
if(n<=k)
{
printf("%d",n*2);
return 0;
}
ans+=n/k;
int tmp=n%k;
tmp=k-tmp;
ans++;
n-=tmp;
ans+=n/k;
if(n%k) ans++;
printf("%d",ans);
return 0;
}

浙公网安备 33010602011771号