您的位置:首页 > 移动开发 > IOS开发

UVa 11111 Generalized Matrioshkas

2012-07-10 18:28 309 查看
这题号……

#include<stdio.h>
#include<string.h>
#include<math.h>
struct
{
int cnt,val;
}stack[10000];
int a[10000],n=0;
int solve()
{
int i,top;
memset(stack,0,sizeof(stack));
for(i=top=0;i<n;i++)
{
if(a[i]<0)
{
stack[top].cnt-=a[i];
stack[++top].val=-a[i];
}
else
{
if(a[i]!=stack[top].val)
return 0;
if(stack[top].cnt>=a[i])
return 0;
stack[top--].cnt=0;
}
}
return 1;
}
int main()
{
char c;
while(scanf("%d%c",&a[n++],&c)==2)
{
if(c=='\n')
{
if(n&1)
{
n=0;
printf(":-( Try again.\n");
}
else if(!solve())
printf(":-( Try again.\n");
else
printf(":-) Matrioshka!\n");
n=0;
}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: