模拟题
文章平均质量分 61
ZXLS-ZMR
我喜欢编程喜欢学习新的知识
展开
-
zoj-1005倒水问题
题目连接这题初看起来比较难,有点像dp,又有点像bfs。头晕了!,就是没想到用模拟法,这题真是古怪,我都无语了,大神的代码竟如此简单,一个水题都把我难倒了。唉!看来分析问题不过正确,没寻找到解题的灵感啊。这题,你若聪明就可以大致知道这题解题的思路,样列,你是这个解题的出发点。我们想想,要保证你输入的数据有解,我可以可定N你不可能,直接把b倒满,除非N==Cb,只有用a来实现,先把a原创 2013-05-14 20:19:17 · 940 阅读 · 0 评论 -
HDU-2563.统计步数
这题是递归加模拟。用L[i]表示i个步伐向左走走的次数,用R[i]表示。。。想右走走的次数。f[i].....总共的方案次数。 向左走 L[i]=L[i-1]+f[i-1] R[i]=R[i-1]+f[i-1] f[i]=f[i-1]+L[i-1]+R[i-1] 参考代码:#includeint m原创 2013-07-15 19:44:26 · 843 阅读 · 0 评论 -
HDU-1199 color the ball
唉!这题完全没必要用线段树,用一个很常规的方法就可以过了。不解释,常规方法就A了。#include#includeint q[100005];int main(){ int n,Lpos,Rpos,a,b,L=100005,R=-1,color; char op[2]; while(scanf("%d",&n)!=EOF){ memset(q,0,sizeof(q));原创 2013-08-12 16:59:20 · 904 阅读 · 0 评论 -
Codeforces-356C
题意:在n个车厢里只能坐四个人,如果一个车厢里有3或4个学生,学生就不会感动boring,给出了每个车厢学生的个数(分析:此题是模拟题,有4,3个车厢的学生可以先不管,把2和1的车厢交换,尽量满足3个人,对最少的值无影响。剩余的2和1车厢的个数,依情况而定!#include#include#includeusing namespace std ;int main(){原创 2013-10-16 19:39:28 · 821 阅读 · 0 评论 -
UVA-10037 Bridge 模拟+dfs
题意:有n个人要过桥,而他们手中只有一个电筒,而过桥的人数最多不超过两个,过桥必须有电筒,问:让所有人都过桥所花费最小的时间。分析:先没想到用dfs就可以做,还是分析问题不过全面,先分析是已经很明显的是:让一个花时间最小的人,:和所有过桥,时间可能会很小,但是有另一种方法:人前面花时间少的人过去,再人最小的过来,在从后面的人去两,让最小的过来,也可以行的通,以为自己没有找到正确的方法,想好久。原创 2013-11-19 15:56:08 · 1196 阅读 · 0 评论 -
UVA-11549 Calculator Conundrum
题意:计算器只能显示n位的数字,但是一个数的继续平方,将会超出n位,如果一个数k继续平方,它将最多显示n位,并把后面的数字舍去,问这样下去显示最大的数是多小。分析:此题暗示了数会出现循环。所以可以模拟,当有循环出现就退出。#include#include#include#include#includetypedef long long LL;using namespace st原创 2013-12-01 19:13:42 · 742 阅读 · 0 评论 -
HDU 4207 And SOJ 4198 Grade School Multiplication
模拟乘法,注意格式,在HDU,G++提交用__int64 在SOJ用long long型提交,这个把我坑了,格式也很坑。#include #includetypedef __int64 LL;using namespace std;int get_digit(LL n){ int k=0; if(n==0) return 1; while(n){原创 2013-12-03 14:52:09 · 891 阅读 · 0 评论 -
SOJ-1640 Zig-Zag
纯粹模拟。#include#include#includeusing namespace std ;int main(){ int n,x,y; int a[55][55]; while(scanf("%d",&n)&&n){ for(int i=0;i<n;i++) for(int j=0;j<n;j++){ scanf("%d",&a[i][j]);原创 2014-02-27 23:24:47 · 764 阅读 · 0 评论