本人一向不爱写作文,因为文采实在是不行,就怕写的文章没人看!不过还好,才刚写了两篇博客就有了那么大的阅读量,实在是惭愧,既然同志们这么看好我,我也一定会尽全力去写好的!

欢迎同志们经常来踩踩啊!

,刚才才把这两天的那20道题给搞定,真是不容易,不管是用什么手段做的吧,反正现在是做完了!不过完成了还得写这篇总结!

水题(只是相对的水题)就不说了,首先是1001题,这道题难住了我好几个人月,当时花费了有一两天的时间还是没有做出来,于是无奈的放弃了,昨天上午也是一直在研究怎么做,吃过中午饭后,忽然灵感来了,一下就把程序给写出来了,调试了几下就AC了!AC是小事,关键是我从这道题目中发现只要想做好一件事,无论再难,只要用心了,就一定能够做好的,关键是态度问题!以下是代码:

# include<stdio.h>
# include<string.h>
int main()
{
	int i,j,n,m,s[200],k,h,flag,count,la,lb,word;
	char str[10],st[200];
	while(scanf("%s %d",st,&n)!=EOF)
	{
		h=0;
		for(j=5;j>=0;j--)
		{
			if(st[j]!='.') str[h++]=st[j];
			else m=5-j;
		}
		str[h]='\0';
		j=5;
		strcpy(st,str);
		la=strlen(str);
		for(i=2;i<=n;i++)
		{
			memset(s,0,sizeof(s));
			lb=strlen(st);
			for(j=0;str[j]!=0;j++)
				for(h=0;st[h]!=0;h++)
					s[j+h]+=(str[j]-'0')*(st[h]-'0');
				count=0;
				for(j=0;j<=la+lb-2;j++)
				{
					s[j]+=count;
					st[j]=s[j]%10+'0';
					count=s[j]/10;
				}
				while(count!=0)
				{
					st[j++]=count%10+'0';
					count/=10;
				}
				st[j]='\0';
		}
		flag=0;
		word=0;
		for(h=0;h<=n*m-1;h++)
			if(st[h]!='0') break;
			if(h==n*m) word=1;
		for(k=j-1;k>n*m-1;k--)
		{
			if(st[k]!='0') {printf("%c",st[k]);flag=1;}
			else if(flag==1) printf("%c",st[k]);
		}
		if(word==0) printf(".");
			for(k=n*m-1;k>=h;k--)
				printf("%c",st[k]);
			printf("\n");
	}
	return 0;
}
1008题关键是注意day%260==0还有day%13==0,day%20==0时,特殊处理一下就ok了! 
1011木棒这道题到现在还不是很清楚,代码是按着书上的敲的,虽然也看了书,但是还不是很明白!

1012约瑟夫问题的延伸,我感觉应该是很经典的吧,做这道题发现了一个别人发现过的公式f[i]=(f[i-1]+m-1)%(n-i+1);

这个公式对于以后做类似的题目感觉是很有帮助的!

1013称假币,用的是书上说的方法,这个题比木棒的题更清楚一些!

1050这题到现在思路还不是很清晰,等到明天再好好整整思路!

1088滑雪这题,现在是很理解了,第一遍是用深搜做的,在学长的指导下AC了,刚才帮一个同学看这道题,自己又知道了一种用贪心的方法,真是大有收获!

后面的那几题基本上就没有什么了,就有一道放苹果的题稍微不好理解一些!但是书上有原题,可以看看书理解理解!

这次就写这么多吧,下次有感再续!!!
posted on 2010-07-14 22:02  奋斗青春  阅读(269)  评论(2编辑  收藏  举报