POJ 3173 模拟】的更多相关文章

按照题意模拟就好-- //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; int n,s,tot; char a[21][21]; int main(){ scanf("%d%d",&n,&s); for(int i=1;i<=n;i++) for(int j=1;j<i;j++) a[i][j]=' '; tot='0'+s-1; fo…
Numbers That Count Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20396   Accepted: 6817 Description "Kronecker's Knumbers" is a little company that manufactures plastic digits for use in signs (theater marquees, gas station price…
2017-08-28 15:07:16 writer:pprp 好开心,这道题本来在集训的时候做了很长很长时间,但是还是没有做出来,但是这次的话,只花了两个小时就做出来了 好开心,这次采用的是仔细分析需要的函数,写一个函数就将这个函数进行测试,所以效率比较高 这次竟然提交了一次直接AC了,hhhh 我想总结一下这种做题感觉,一直认为自己实现功能的能力比较弱,虽然这是事实,但是没有想象中那么弱,其实还是可以实现很大一部分的内容 之后只要方法对了,然后可以坚持下去,那我就很大几率成功,昨天看视频的时…
模拟洗牌的过程,合并两堆拍的方式:使先取s2,再取s1:分离成两堆的方式:下面C张放到s1,上面C张到s2.当前牌型与第一次相同时,说明不能搜索到答案. AC代码 #include<cstdio> #include<cstring> const int maxn = 100 + 5; char s1[maxn], s2[maxn], s3[maxn * 2], s4[maxn * 2], vis[maxn * 2]; int c; void deal(char *a){ int c…
Shuffle'm Up Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15249   Accepted: 6962 Description A common pastime for poker players at a poker table is to shuffle stacks of chips. Shuffling chips is performed by starting with two stacks o…
/* 模拟退火法: 找到一些随机点,从这些点出发,随机的方向坐标向外搜索: 最后找到这些随机点的最大值: 坑://if(xx>-eps&&xx<x+eps&&yy>-eps&&yy<eps+y) {不知道为什么这个判断方式错误?????? */ #include<iostream> #include<cstdio> #include<math.h> #include<algorithm>…
题意:求最大无坏点三角形 思路: 模拟? (为什么我模拟过了...) 有人用 DP,有人用 搜索... // by SiriusRen #include <cstdio> #include <cstring> #include <iostream> using namespace std; char a[222][222]; int cases=0,n,ans,answer,flag; int main(){ while(scanf("%d",&am…
思路: 坑爹模拟毁我一生 给两组数据: 输入: YOURE TRAVELING THROUGH ANOTHER DIMENSION A DIMENSION NOT OF SIGHT. 输出: YR TVLNG H DMS F. 注意"."前面没有空格... 别问我怎么知道的--(.・・)ノ 输入: MADAM I SAY I AM ADAM 输出: MD SY 注意 如果第一个单词前面有空格 忽略它 也别问我怎么知道的--(.・・)ノ // by SiriusRen #include…
思路:字符串解密 啥都告诉你了 模拟就好 //By SiriusRen #include <cstdio> #include <cstring> using namespace std; char a[666],ch[666],b[6666]; int main(){ for(int i=0;i<256;i++)ch[i]=i; for(int i=0;i<=26;i++)a[i]=getchar(); for(int i=0;i<26;i++)ch['a'+i]…
题意: 思路: 按照题意模拟即可 //By SiriusRen #include <cstdio> using namespace std; int c,f1,f2,d,xx,yy,vis[2005]; int main(){ scanf("%d%d%d%d",&c,&f1,&f2,&d); for(int i=1;i<=c;i++){ scanf("%d%d",&xx,&yy); vis[xx]++…
题目链接 大概题意就是告诉你有个n个小括号,每一个")"左边有多少个"("都告诉你了,然后让你求出每一对括号之间有多少对括号(包含自己本身). 思路: 我先计算每个")"左边有多少个"("要匹配,然后每遇到一个")",然后向前寻找第一个可以匹配的"(",找到后将其数量减一,这样的话在寻找的过程中经过了几个")"就表示这对括号里面有多少括号. //poj 1068 //…
给定两个长度为len的字符串s1和s2, 接着给出一个长度为len*2的字符串s12. 将字符串s1和s2通过一定的变换变成s12,找到变换次数 变换规则如下: 假设s1=12345,s2=67890 变换后的序列 s=6172839405 如果s和s12完全相等那么输出变换次数 如果不完全相等,s的前半部分作为s1,后半部分作为s2,重复上述过程. Input 第一行给出T(1≤T≤1000),代表有T组数据,每组数据首先给出len(1≤len≤100),接着给出两个长度为len的字符串s1 …
/* 1.判断是否是一个完整边框 2.判断是否长度和宽度小于3 3.判断是否有内部覆盖的现象 */ #include<stdio.h> #define N 110 #define inf 0x3fffffff struct node { int u,v; }f[N*N],ee; char s[N][N]; int n,m; void judge() { int minx,i,j,k,e,len,maxx,miny,maxy; for(e=0;e<26;e++) { len=0; for(…
It is confirmed that these sections do not overlap with each other. 一句话 就变成水题了,,, // by SiriusRen #include <cstdio> using namespace std; int n,m,xx,yy; int main(){ while(scanf("%d%d",&n,&m)&&(n||m)){ n++; for(int i=1;i<=…
水题,但是WA了一屏--- swap的时候忘了把读入的数字也swap了---------..[尴尬] // by SiriusRen #include <cmath> #include <cstdio> #include <algorithm> using namespace std; char jya,jyb; double T,D,H,xx,yy,e,h; int main(){ while(1){ scanf("%c",&jya); i…
按照题意模拟就好- 注意"X"只能出现在最后一位... // by SiriusRen #include <cstdio> using namespace std; char s[15],mark; int main(){ scanf("%s",s+1); int temp=0; for(int i=10;i;i--){ if(s[11-i]=='X')s[11-i]='0'+10; else if(s[11-i]=='?'){mark=i;contin…
按照题意模拟就OK了 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int n,t,a[1005]; int main() { scanf("%d%d",&n,&t); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } fo…
也可以用map来搞 样例推出来 就没啥问题了 (先读的是B 然后是A 被坑好久) //By SiriusRen #include <cstdio> #include <iostream> #include <algorithm> using namespace std; #define mod 10000007 int n,T,cases,rec,vis[10000007]; char a[605],b[605],c[933],s[933]; int main() {…
1.TreeMap和TreeSet类:A - Language of FatMouse ZOJ1109B - For Fans of Statistics URAL 1613 C - Hardwood Species POJ 2418D - StationE - Web Navigation ZOJ 1061F - Argus ZOJ 2212G - Plug-in2.SegmentTreeA-敌兵布阵 hdu 1166B - I Hate It HDU 1754C - A Simple Pro…
Ride to School Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 18704   Accepted: 7552 Description Many graduate students of Peking University are living in Wanliu Campus, which is 4.5 kilometers from the main campus – Yanyuan. Students i…
直达–>POJ 3087 Shuffle'm Up 题意:一开始没怎么看明白,注意现是从S2里拿牌放在最底下,再放S1,这样交叉放(我一开始以为是S1和S2随意哪个先放,分别模拟取最小),然后在从中间截一半,下半部给组成新的S1,上半部组成新的S2.然后再交叉洗牌,重复,问达到给出的S12最小的洗牌次数. 思路:题意懂了直接模拟就行,无法到达的情况就是某一次洗牌出来的S12和之前出现过的S12重合了,也就是形成了循环,此时无法达到给出的S12的情况那就是不可能了.判重没想到什么特别巧妙的方法就用…
Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64795   Accepted: 19978 Description During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an old knotted message, profes…
题目地址:http://poj.org/problem?id=2993 /* 题意:与POJ2996完全相反 模拟题 + 字符串处理:无算法,读入两行字符串找出相应点用used标记,输出时标记过的输出字母,否则输出'.'或':'. 注意:棋盘的行的顺序是从下到上递增的 */ #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <cm…
题目地址:http://poj.org/problem?id=2996 /* 题意:给出白方和黑方的棋子和对应的坐标,输出该副棋盘的样子 模拟题 + 结构体排序:无算法,switch区分读入的字符,按照黑白的排序规则排序,再输出 注意:(转载)1,棋盘中大写字母表示的是白方棋子,小写是黑方. 2,注意棋盘的行数是从最下面开始计数的.和数组的下标相反.也就是说数组行数为8的棋盘行 数为1(数组从1开始). 3,最容易忽略也最重要的是:白旗和黑棋在输出的时候其实排序规则是不一样的(但是棋子的类型都要…
题目地址:http://poj.org/problem?id=1573 /* 题意:给定地图和起始位置,robot(上下左右)一步一步去走,问走出地图的步数 如果是死循环,输出走进死循环之前的步数和死循环的步数 模拟题:used记录走过的点,因为路线定死了,所以不是死循环的路只会走一次,可以区分出两个步数 注意:比较坑的是,如果不是死循环,临界(走进去就出来)步数是1:而死循环却是0. 这里WA几次... */ #include <cstdio> #include <iostream&g…
题目地址:http://poj.org/problem?id=2632 /* 题意:几个机器人按照指示,逐个朝某个(指定)方向的直走,如果走过的路上有机器人则输出谁撞到:如果走出界了,输出谁出界 如果以上都没发生,则输出OK 模拟题:无算法,按照条件编写几个函数和判断条件 注意:1. 关于绕转,只要模拟人的转圈方向,比如向右转就向右手边转(优化:当超过4次则对4取模) 2. 有先撞墙还是先撞机器人的问题(每一次'F'后都要及时判断是否OK) 3. 撞哪个机器人也有先来后到的顺序('F'后以这个机…
题目地址:http://poj.org/problem?id=1068 /* 题意:给出每个右括号前的左括号总数(P序列),输出每对括号里的(包括自身)右括号总数(W序列) 模拟题:无算法,s数组把左括号记为-1,右括号记为1,然后对于每个右括号,numl记录之前的左括号 numr记录之前的右括号,sum累加s[i]的值,当sum == 0,并且s[i]是左括号(一对括号)结束,记录b[]记录numl的值即为答案 我当时题目没读懂,浪费很长时间.另外,可以用vector存储括号,还原字符串本来的…
题目链接 题意 : 一个10×15的格子,有三种颜色的球,颜色相同且在同一片内的球叫做cluster(具体解释就是,两个球颜色相同且一个球可以通过上下左右到达另一个球,则这两个球属于同一个cluster,同时cluster含有至少两个球),每次选择cluster中包含同色球最多的进行消除,每次消除完之后,上边的要往下移填满空的地方,一列上的球移动之前与之后相对位置不变,如果有空列,右边的列往左移动,每一列相对位置不变 . 思路 : 模拟......不停的递归..... ////POJ 1027…
挺水的模拟题,刚开始题目看错了,poj竟然过了...无奈.uva果断wa了 搞清题目意思后改了一下,过了uva. 题目要求模拟木块移动: 有n(0<n<25)快block,有5种操作: move a onto b  在将a搬到b上之前,先把a和b上的积木放回原來的位置 move a over b在将a搬到b所在的那堆积木上前,先把a上的积木放回原來的位罝 pile a onto b 将包括a本身和上方的积木一起放到b上,在放之前b上方的积木放回原来的位置 pile a over b 将包括a本…
题目:http://poj.org/problem?id=3393一道题目挺长的模拟题,参考了网上大神的题解. #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; ]={,,,,,,,,,,,,}; ]={,,,,,,,,,,,,}; int check(int year) { ) { ==) ; else ; } e…