模拟
文章平均质量分 66
qwerty_xk
算法ACM 向数据挖掘、人工智能、神经网络迈进
展开
-
poj 1013 Counterfeit Dollar
qwertyxk 1013 Accepted 240K 0MS C++ 1233B 由于没有编译器,代码未经编译 ,直接在记事本里写完提交,AC了,对自己写代码的一种自信吧 模拟题,借鉴了大牛的思想来写的,用zero数组记录如果是even,那么左右的字母被标记为1,如果没有even那么,还是0 再申请一个time数组,初始化为零,如果是up,那么左边的原创 2013-02-25 21:19:29 · 296 阅读 · 0 评论 -
poj 1083 Moving Tables
模拟题,用到了编程之美中的思想---高效率地安排见面会 其实这个搬桌子是一样的,占用过道,那么核心思想就是把过道看成那个题目里面的时间轴 那么思想就是找到这个时间轴上的某一个时间点,使包括这个时间点的时间区间个数最多,那么这个个数乘以十就是我们要求的搬桌子的时间 代码的核心思想: 把所有的B[i],E[i]按大小排序,然后遍历这个统一的数组,如果遇到一个B[i],就把当前的时间数加原创 2013-03-11 09:48:57 · 1437 阅读 · 0 评论 -
poj 1029 False coin
做这个题目做了一下午 ,模拟类题目,跟前面做的那个1013一样的题目,首先用那种思想,但是在处理输出0这个状态上 那种方法太不方便了,要考虑很多很多情况,改了很久,还是WA,于是果断放弃那种方法,寻求另外一条思路,在这里 还是把那个代码贴出来,毕竟以后还是可以参考的 #include #include #include #define N 1000 int visit[N],weig原创 2013-03-10 18:25:06 · 933 阅读 · 1 评论 -
poj 1067 和 poj 2234 取石子游戏
跟编程之美上面的NIM(3)和NIM(2)是相同的思想 源代码如下: #include #include void swap(int &a,int &b) { int x=a; a=b; b=x; } int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { if(a>b) swap(a,b); double原创 2013-03-13 15:33:39 · 672 阅读 · 0 评论 -
poj 1012 Joseph
首先用手动模拟的方式来算 注意循环的次数优化一下,否则递加会很慢,这里循环的次数每次增长为(k+1)的倍数或者(k+1)的倍数加1 我的源代码如下: #include #include int main() { int k; while(scanf("%d",&k)&&k) { int count=k+1,taotai=0; int guys[30]; while(1)原创 2013-03-14 17:54:01 · 512 阅读 · 0 评论 -
poj 2965 The Pilots Brothers' refrigerator
这个枚举+DFS是借鉴大牛的 在此扩充了一下路径的保存 然后想提一个很无语的错误,在测试样例的时候,总是没有任何结果输出来,看了程序压根一点错误都没有(没看出任何逻辑硬伤) 没办法,断点调试,输出中间结果,然后在测试到step=6的时候,发现经过flip变化之后,map[1][1]还是true,并没有变,觉得异常奇怪 看了该row col对应的此行和此列,其他的变换都没有错误,就当前的交点原创 2013-03-20 14:10:59 · 531 阅读 · 0 评论