UVa 11111 - Generalized Matrioshkas
2016-03-16 18:55
417 查看
題目:俄羅斯套娃,判斷序列的合法性。
分析:數據結構,棧。利用棧處理數據,設置一個變量存儲當前層的總值,判斷是否裝得下。
如果是負數,進棧,計數當前內部綜合為0;
如果是正數,出棧,比較對應棧頂和當前元素是否相同,以及內部元素是否超過外層大小;
說明:注意結束時判斷隊列是否為空。
分析:數據結構,棧。利用棧處理數據,設置一個變量存儲當前層的總值,判斷是否裝得下。
如果是負數,進棧,計數當前內部綜合為0;
如果是正數,出棧,比較對應棧頂和當前元素是否相同,以及內部元素是否超過外層大小;
說明:注意結束時判斷隊列是否為空。
#include <cstring> #include <cstdio> int value[10001]; int stack[10001]; int total[10001]; int main() { char ch; while (~scanf("%d%c",&value[1],&ch)) { int count = 2; while (ch != '\n') { scanf("%d%c",&value[count ++],&ch); } int matrioshka = 1, top = 0; for (int i = 1; i < count; ++ i) { if (value[i] < 0) { top = top+1; total[top] = 0; stack[top] = -value[i]; }else { if (top <= 0 || stack[top] != value[i] || total[top] >= value[i]) { matrioshka = 0; break; } total[-- top] += value[i]; } } if (matrioshka == 1 && top == 0) { printf(":-) Matrioshka!\n"); }else{ printf(":-( Try again.\n"); } } return 0; }
相关文章推荐
- NSMutableAttributedString
- iOS开发:XIB之AutoLayout添加约束
- NSMutableAttributedString
- 判断iOS设备型号
- iOS 生成二维码
- iOS企业开发In House ipa发布流程
- iOS开发zhiATM机的设计与实现
- 使用设计模式中的Singleton单例模式来开发iOS应用程序
- iOS7程序后台运行
- iOS开发企业版ipa分发(in-house)
- iOS LeftMenu抽屉效果与ScrollView共存时的手势冲突
- 获取iOS应用中当前处于Activity状态的ViewController
- iOS开发~CocoaPods使用详细说明
- iOS开发——GCDAsyncSocket
- iOS开发拓展篇—CoreLocation定位服务
- ios开发之你真的了解了KVC吗?
- iOS 手势操作:拖动、捏合、旋转、点按、长按、轻扫、自定义
- iOSURL编码
- ios一个自定义的下拉多选菜单
- ios屏幕适配-sizeclass