栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3195 Generalized Matrioshkas

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 3195 Generalized Matrioshkas

#include <iostream>#include <stack>#include <cstdio>#include <string.h>using namespace std;const int MAXN = 20000;int nNum = 0;stack<int> nS;int nSize[MAXN], nFlag[MAXN];bool isMatri(int n);int main(){int n;char ch;nNum = 0;while (2 == scanf("%d%c", &n, &ch)) {nSize[nNum++] = n;if (ch == 'n'){if (isMatri(nNum)) printf(":-) Matrioshka!n");else printf(":-( Try again.n");nNum = 0;}}return 0;}bool isMatri(int n){if (n & 1) return false;if (nSize[0] >= 0) return false;int k = 0;memset(nFlag, 0, sizeof(nFlag));nFlag[k++] = -nSize[0];nS.push(nSize[0]);for (int i = 1; i != nNum; ++i){if (nSize[i] < 0){if (-nSize[i] >= nFlag[k-1]){return false;}else{nS.push(nSize[i]);nFlag[k-1] += nSize[i];nFlag[k++] = -nSize[i];}}else{int tmp = -nS.top();if (tmp != nSize[i]){return false;}else{nS.pop();nFlag[k-1] = 0;k -= 1;}}}return true;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374818.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号