Zero 1 水题欢乐赛

Zero 0是老师为新高一的同学们准备的,为了熟悉Linex,我们也用了这套题。

T1神奇的数字3

考查知识点:模拟;

编程求出所有不超过N的自然数中,有些数会含有数字3,请统计3的总数。
输出只有一行,包括1个整数。N<=10000

这......,也太水了点;

#include<cstdio>
#include<algorithm>
using namespace std;
int n,ans;
int search(int x)
{
	int tmp=0;
	while(x)
	{
		if(x%10==3) tmp++;
		x/=10;
	}
	return tmp;
}
int main()
{
	freopen("count.in","r",stdin);
	freopen("count.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	    ans+=search(i);
	printf("%d",ans);
	fclose(stdin);
	fclose(stdout);
	return 0;
}

T2 Super power

现在交给你的是一个相当简单的问题,给你两个数a、b,想要求ab-ba的值。
但是这个值相当的大,故而简化了这个题目,求:(ab)%N-(ba)%M 的值。
这......,也是水题。

#include<cstdio>
#include<algorithm>
using namespace std;
int a,b,n,m;
int main()
{
	freopen("pow.in","r",stdin);
	freopen("pow.out","w",stdout);
	scanf("%d%d%d%d",&a,&b,&n,&m);
	int j=a,k=b;
	for(int i=2;i<=k;i++)
		a=a*j%n;
	for(int i=2;i<=j;i++)
		b=b*k%m;
	printf("%d",a-b);
	fclose(stdin);
	fclose(stdout);
	return 0;
}

 T3 回形方阵

大意:输出像这样的一个矩形:

3 3 3 3 3 3 3
3 2 2 2 2 2 3
3 2 1 1 1 2 3
3 2 1 0 1 2 3 
3 2 1 1 1 2 3
3 2 2 2 2 2 3
3 3 3 3 3 3 3

表示也很水;
分别更新上 下 左 右即可;

#include<cstdio>
#include<algorithm>
using namespace std;
int n,nmp,k;
int tmp=1;
int a[100][100];
int main()
{
	freopen("cir.in","r",stdin);
	freopen("cir.out","w",stdout);
	scanf("%d",&n);
	tmp=2*n+1; 
	while(k<=n)
	{
		for(int i=1+nmp;i<=tmp-nmp;i++)
		{
			a[1+nmp][i]=n-k;
			a[i][1+nmp]=n-k;
			a[i][tmp-nmp]=n-k;
			a[tmp-nmp][i]=n-k;
		}
		k++,nmp++;
	}
	for(int i=1;i<=tmp;i++)
	{
		for(int j=1;j<=tmp;j++)
		    printf("%d ",a[i][j]);
		printf("\n");
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}

然而翻车了,在建完.cpp后,我没有看题,将第一题的代码写在了第二题里,依次顺移,结果......?
惨啊,说好的AK呢;
NOIP要因为这样的事情爆0......不说了,熟悉Linux ing......

关于“Zero 1 水题欢乐赛”我的1个想法

发表评论

邮箱地址不会被公开。 必填项已用*标注