最后一次模拟

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;
}

  

posted @ 2019-12-28 10:28  Captain_fcj  阅读(182)  评论(0编辑  收藏  举报