//这么一个水题,当时居然没有做,模拟就行
#include <cstdio>
#include <stack>
using namespace std;
int main()
{
int N;
while(scanf("%d", &N) != EOF)
{
int a;
int i, j, k;
stack<int> sta;
for(i = 0; i < N; ++ i)
{
scanf("%d", &a);
sta.push(a);
}
int v[6], vis[6];
int flag = 0;
while(!flag)
{
for(i = 0; i < 6; ++ i)
{
v[i] = sta.top();
sta.pop();
if(sta.empty())
{
flag = 1;
break;
}
}
memset(vis, 0, sizeof(vis));
for(j = 0; j <= i; ++ j)
{
if(vis[j]) continue;
for(k = j + 1; k <= i; ++ k)
{
if(vis[k]) continue;
if(v[j] == v[k])
{
vis[j] = vis[k] = 1;
break;
}
}
}
for(j = i; j >= 0; -- j)
if(!vis[j])
sta.push(v[j]);
}
if(sta.empty()) printf("1\n");
else printf("0\n");
}
return 0;
}
HDOJ 4272 LianLianKan(简单模拟)
最新推荐文章于 2019-12-11 22:39:03 发布