hdu 4891 模拟
来源:互联网 发布:二维旋转矩阵的推导 编辑:程序博客网 时间:2024/06/05 14:27
题意:
给你一个串,问你有几种意思,有两个规则
(1) { } 答案乘以 ({}之间"|"的个数 + 1)
(2) && 答案乘以 (&&之间连续的' '的个数 + 1)
比如 {aa|dsd|}dasdaddda& a &的答案是
(2 + 1) * (3+1) *(2 + 1) = 36
思路:
。
给你一个串,问你有几种意思,有两个规则
(1) { } 答案乘以 ({}之间"|"的个数 + 1)
(2) && 答案乘以 (&&之间连续的' '的个数 + 1)
比如 {aa|dsd|}dasdaddda& a &的答案是
(2 + 1) * (3+1) *(2 + 1) = 36
思路:
直接模拟,结果我自己sb了wa了很多次,记得开INT64 ,为什么开,自己模拟下最大数据就知道了,一开始没有去想这个问题。一直怀疑自己读错题了,哎!还有就是提示一个小地方,就是计算连续空格个数的时候\n不算字符,就是' '\n' '算是连续的,别的没啥
#include<stdio.h>#include<string.h>int main (){ int i ,n ,mk; __int64 ans ,sum; char c; while(~scanf("%d" ,&n)) { getchar(); sum = mk = 0; ans = 1; while(n) { c = getchar(); if(c == '\n') n --; if(c == '{') { sum = 0; while(1) { c = getchar(); if(c == '\n') n --; if(c == '}') { ans *= (sum + 1); if(ans > 100000) mk = 1; break; } if(c == '|') sum ++; } } if(c == '$') { sum = 0; while(1) { c = getchar(); if(c == '\n') { n --;continue;} if(c == '$') { ans *= (sum + 1); if(ans > 100000) mk = 1; break; } if(c == ' ') sum ++; else { ans *= (sum + 1); if(ans > 100000) mk = 1; sum = 0; } } } } mk? puts("doge"):printf("%I64d\n" ,ans); } return 0;}
。
0 0
- hdu 4891 模拟
- hdu 4891 模拟水题
- hdu 4891 The Great Pan(模拟)
- HDU 4891 The Great Pan(模拟)
- hdu 4891 The Great Pan(模拟)
- hdu 4891 The Great Pan (模拟)
- HDU 4891 The Great Pan (模拟)
- HDU 4891 The Great Pan(模拟)
- HDU 4891 The Great Pan 模拟
- 【几何模拟】hdu 3286
- hdu 1020 Encoding(模拟)
- hdu 1303 Doubles(模拟)
- hdu 4020 模拟
- HDU **** 暴力模拟
- HDU 4068 模拟
- HDU 4121 模拟
- 【模拟】HDU 4134
- HDU-1279 模拟
- asii和unicode格式字符串之间的相互转换
- hd 1021 Fibonacci Again 规律对4取余为2 则yes
- 速配游戏
- JBOSS EAP 6 系列七 JPA/hibernate
- leetcode 虐我篇之(九)Roman to Integer
- hdu 4891 模拟
- 学生信息管理系统的收获
- 几篇关于架构的博客
- Leetcode--ZigZag Conversion
- [LeetCode] Binary Tree Inorder Traversal [41]
- 我的第一个博客
- boj 452 解码锦标赛【动态规划】(排位赛08_D)
- hdu 2032 杨辉三角(最后一组后不加空行的处理) 20140731.c
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver