
模拟题
文章平均质量分 72
ehi11
这个作者很懒,什么都没留下…
展开
-
Mine Sweeper 水题
/*这道超水的扫雷题。题意不明,蛋疼了好久。就是碰到雷以后,不仅要把走过的位置标出来,还要把雷的所有位置都标出来。还要注意格式,在测试之间打空行。*/#include int dx[]={0,0,1,-1,1,1,-1,-1};int dy[]={1,-1,0,0,1,-1,1,-1};int main(){ char a[11][11]; char b[11][11]原创 2012-08-04 21:37:37 · 740 阅读 · 0 评论 -
hoj WERTYU
因为课程是主学c++。所以对c的很多细节不甚了解啊。//一个是对转义字符的处理。形如\\ %%//还有一个是对未在数组a里的字符进行处理//getchar 返回的是一个int型的值//char型数组的最后一位是'\0' 即为0,其他的阿斯科马都不为0.所以if[a[i]]表示元素是数组a中的元素。//for(); 是满足for()内的条件一直进行。不满足就跳原创 2012-06-20 07:34:57 · 976 阅读 · 0 评论 -
Java vs C++ hoj
/*一道比较水的题吧.就有几种情况要考虑.error的几种情况:首字母不能使大写,末尾不能是分隔符,不能有连续的分隔符.原来的输入用的是 while(scanf("%s",a)==1),结果就wa了.这个不解啊.望大家指点!!!!谢了.*/#include #include int main(){ char a[110];原创 2012-07-22 14:54:25 · 512 阅读 · 0 评论 -
Bin Packing hoj
/*就是一超级大水题。没的说。排完序后每次去最大和最小值的和,如果大于给定数,则最大的置0.*/#include #include #include using namespace std;int a[100005];int main(){ int n,l; while(scanf("%d",&n)==1) { scanf("%d",&l);原创 2012-07-24 21:40:32 · 504 阅读 · 0 评论 -
Super_Stack STL模拟栈
/*这道题的题意非常清晰。实现起来个人稍有纠结。开始的时候用每次询问都遍历一遍,必定超时!后来定义了一个结构体,手写栈。每次读入数据的时候将最值更新到栈顶。最后询问时返回栈顶元素即可。*/#include #include #include using namespace std;struct sta{ long long max,min,v;} p[70000];原创 2012-07-24 22:12:02 · 645 阅读 · 0 评论 -
Magic-Pen1 hoj
/*原本是线段树的基础题。结果用模拟也能水果的话就不多说了,奇怪的是用int 0 1表示会超时,用bool ac。*/#include int main(){ bool a[10005]; int n,m,x,y,c; while(scanf("%d%d",&n,&m)==2) { for(int i=1;i<=n;i++)原创 2012-07-24 21:42:48 · 430 阅读 · 0 评论 -
Help Me with the Game 恶心的模拟。
/*恶心的题要用猥琐的方法来过。经过同学提醒。干脆直接就把所有的数据读入,存在g里。下面直接循环输出即可。还有一个就是 “ ,”的输出要用一个t来标记下。*/#include #include using namespace std;int main(){ char g[8][8]; scanf("+---+---+---+---+---+---+---+---原创 2012-07-25 21:53:40 · 645 阅读 · 0 评论 -
Artificial Intelligence? 编码好题!
/*稍有繁琐。先确定=号,再确定单位。判断单位的前一个字符是否为前缀。然后确定数字的范围。用atof将范围内的字符串放到一个字符数组里,再将其转化为数字。*/#include #include #include #include using namespace std;int main(){ char s[550]; double a=1,b=1; ch原创 2012-07-25 21:49:20 · 502 阅读 · 0 评论 -
Throw nails hdu多校联赛10 1004 水题
/*速度之差最小为1,而第一步的距离最大为500,所以501s以后速度大的距离必然大。而不是500s。这个地方wa到吐血。所以前501s暴力,后面的直接对速度和标号排序输出即可。*/#include #include #include #include using namespace std;struct st{ int id,v,dis;}s[50001],temp;原创 2012-08-24 20:12:28 · 811 阅读 · 0 评论 -
Orders c++生成全排列
/*将源字符串的顺序改变为升序,课生成字典序上升的全排列。*/#include#include#include using namespace std;int cmp(const void *a,const void *b){ return *(char *)a-*(char *)b;}int main(){ int i; char a[300];原创 2012-08-24 20:00:10 · 1918 阅读 · 0 评论 -
一类计算问题小结poj&hoj Set Definition ,Humble Numbers ,Ugly Numbers 因子构造法
/*这类问题都是给一些只能由某些特定因子乘积组成的数,然后求第n个数的大小。做法就是每次用所给的条件来构造因子,预处理出前N项的值,复杂度O(N),查询复杂度O(1).*/Set Definition.code#include #include using namespace std;int a[10000000];int main(){ a[1]=1; int n原创 2012-10-04 16:09:18 · 1034 阅读 · 0 评论 -
hoj Excuses, Excuses! 字符串模拟
/*一个基础的字符串模拟。先将句子用get整串读入。然后用sscanf分离出逐个单词进行匹配。 char *p=temp; while(sscanf(p,"%s",tempkey)>0) { p++; p+=strlen(tempkey);char原创 2012-07-18 07:17:35 · 433 阅读 · 0 评论 -
hoj Set S
/*尽量将数组先开大。然后计算出最大值后再更改数组的最佳大小。数组在全局变量开。就是把数放在数组中模拟 if(((i-1)%2==0 && b[n])||((i-1)%3==0&&b[m])) 用这个条件来控制在数组中的数是之前的数生成的*/#include const int mm=55100000;const int inf=1000001;i原创 2012-06-12 22:39:11 · 317 阅读 · 0 评论 -
hoj encoding 搜索化的模拟
/*先将字母读入二维数组。然后用四个while实现环形数组的输出。保险的方法可先将数组周围一圈用特殊元素标记,然后移动的时候只需判断是否扫描到特殊元素,是则拐向,然后将已经走过的元素也标记为这一特殊元素,防止数组越界。先判断方向,再移动。*/#include #include #include using namespace std;int原创 2012-06-13 22:36:53 · 445 阅读 · 0 评论 -
Knockout Tournament 水题 hoj
/*先按二叉树的顺序进行存图。然后从上到下扫描输了几个人。在结果累计保存到儿子节点。再从下往上扫描赢了几个人。再把左右儿子的节点保存到父亲节点。*/#include #include #define maxn 100000int a[maxn];struct st{ int l,r;}s[maxn];int main(){ int n; int ca=原创 2012-08-05 06:55:21 · 1108 阅读 · 0 评论 -
水题 Border
/*开始模拟的时候按照我想法答案有错.调整几下方向直到和图形一样就AC了.这种题大概敲出来后不用对具体的步骤去计算,可对照图直接修改.还是有写了一小会.囧...*/#include #include char a[33][33];int main(){ int t,p,y; scanf("%d",&t); char b[1000];原创 2012-08-05 14:20:47 · 481 阅读 · 0 评论 -
Flow Layout 水 hoj
/*有是一道水题,不过还是没写好.主要是题意又看错了.不需要进行排序.直接按位置选每一行的最值.一个i--省去了很多功夫额.*/#include struct st{ int w,h;}a[100];int main(){ int n,w,h; while(scanf("%d",&n)==1&&n) {原创 2012-08-05 15:57:34 · 508 阅读 · 0 评论 -
Incomplete chess boards 有趣.
/*代码超短.思路很有意思.想象成一个国际象棋的棋盘,黑白相间且颜色个数相同.一张牌可以覆盖两个格子.所以只要两个格子是一黑一白就必定有解.此时满足条件如下.*/ #include int main(){ int n,i=1,x1,y1,x2,y2; scanf("%d",&n); while(n--) {原创 2012-08-05 16:26:15 · 525 阅读 · 0 评论 -
hoj Printer Queue
/*这是一道用循环队列和优先队列模拟的题。用结构体来定义队列。使队列能够能够记录元素的值和下标。优先队列入队的同时已经自动进行排序。top()的值都为当前队列的最大值。具体模拟过程见程序*/#include #include #include struct Work{ int in; int pos;} work[110]原创 2012-06-20 22:37:45 · 414 阅读 · 0 评论 -
hoj 1067 Rails 栈的模拟
/*栈的一道基本的模拟题。主要分为三种情况处理。一种是不需要进入C站,直接从A到B。一种是经过C站中转。用栈模拟进出的过程。*/#include #include using namespace std;const int inf=1005;int main(){ stack s; int target[inf]; in原创 2012-06-13 22:29:17 · 585 阅读 · 0 评论 -
Ananagrams hoj 字符串模拟
/*一道比较水的字符串模拟。刚开始的时候题意有点看错了。就是注意在有重组可以相同的字符串的时候要把原有的字符串也删除掉。这里用标记。只要将每个字母重排就可以了。还有大小写并没有区分在匹配的时候。*/#include #include #include using namespace std;char a[1001][21];原创 2012-07-18 21:53:10 · 731 阅读 · 0 评论 -
Complicated Translation 栈的模拟 hoj
/*对于这道题我表示非常无语。对getchar的用法不熟。主要是读入字符的问题。然后将每个词入栈。再按顺序弹栈即可。学会用getchar处理单个字符和对行数的控制。*/#include #include using namespace std;int main(){ int n,top; char a[1100];原创 2012-06-16 23:40:09 · 447 阅读 · 0 评论 -
hoj Ordered Fractions
/*主要是快排的模板函数的应用*/#include #include #include #include using namespace std;struct node{ int x, y;}num[10000];int n;int gcd(int a,int b){ if(a%b==0) return b;原创 2012-06-14 22:25:27 · 472 阅读 · 0 评论 -
匹配最长的回文串
案例:confusion say Madam I,m Adam.输出:Madam I,m Adam要求:忽略标点,最后输出的是原来字符中的结果,原样输出。#include #include #include #include using namespace std;const int inf=5001;char s[inf原创 2012-06-14 22:22:09 · 481 阅读 · 0 评论 -
487-3279 hoj 模拟AC
/*之前写的在poj1002上AC了,但是在HOJ上过不了,现在又写了一遍,在HOJ 上过了。一个是字符串排序的写法,可以当模板用。其余都是细节问题。*/#include #include #include #include using namespace std;const int maxn=100001;int cmp(const void* _a,const void* _原创 2012-10-04 10:56:19 · 1143 阅读 · 0 评论