发布于:
2008-06-13 19:30:02 | 分类:
我的日志
/*2008.6.13 19:05:22 Accepted 2185 C++ 00:00.02 836K 天将降大任于我
这道题我先是采用列表的方式 全部找出来, 然后用一个二维数组装分子和分母,结果内存大到一种夸张的地步
(Memory Limit Exceeded 2185 C++ 00:00.00 235204K )吓死我,然后我又改了很多次,都是内存超很多
后来才想到应该就在主函数中直接求,但我想数的范围在1-10000000之间肯定会超时,但是结果只用了0.02s就过了
这道题为它添了3个memory limit exceeded,第四个才a了,汗,感觉我超级的菜,这道题的ac率那么高,被我
一搞,就低了很多了,有点愧对同胞们
*/
#include<iostream>
using namespace std;
int main()
{
int a,b,n,i;
while(scanf("%d",&n)!=EOF)
{ i=1;a=b=1;
while(i<n)
{
if(b==1&&i<n) {i++;a++;}
while(a>1&&i<n) {a--;b++;i++;}
if(a==1&&i<n) { b++;i++;}
while(b>1&&i<n){b--;a++;i++;}
}
printf("TERM %d IS %d/%d\n",n,b,a);
}
return 0;
}
发布于:
2008-06-12 18:58:38 | 分类:
我的日志
/*2008.6.12 18:44:56 Accepted 1005 C++ 00:00.00 832K 天将降大任于我
Jugs
这题有两种选择可以选,一种是fill A,empty B,pour A B;
另一种是fill B,empty A,pour B A;只要选一种做出来就行
每一种中只需要考虑各种情况的条件怎样就行
*/
#include<iostream>
using namespace std;
int main()
{
int va,vb,n,a,b;
while(scanf("%d%d%d",&va,&vb,&n)!=EOF)
{
a=b=0;bool f=1;
while(f){
printf("fill A\n");
a=va;
if(a==n) {printf("success\n");break;}
while(a>0)
{
if(vb-b>=a)
{
printf("pour A B\n");
b+=a;a=0;
}
else
{
printf("pour A B\n");
a=a-(vb-b);b=vb;
}......
引用 | 举报
阅读全文(77)
|
评论

(0)