【模拟】
nyist_xiaod
这个作者很懒,什么都没留下…
展开
-
HDU 1002 A + B Problem II(模拟)
题目链接:Click here~~今天无聊,把A + B Problem II用字符串做了一遍。感觉挺有成就感的,所以记录下来吧。#include #include #define M 1005//#include //#define creat (char *)malloc(sizeof(char))int main(){ //char *a,*b,*f;原创 2012-01-12 21:39:55 · 641 阅读 · 0 评论 -
HDU 1431 素数回文(回文数打表)
题目链接:Click here~~题意:中文题不解释。练习了下打回文数。挺有成就感的,分享下。解题思路:先观察,1-9 中有 9 个回文数,10-99中有 9 个回文数,100-999中有 9*10 个回文数,1000-9999中有 9*10 个回文数……不难分析出,[1,n] 区间内,回文数个数的级别是 O( 10 ^ ( |d/2 |) ) 的( d原创 2013-06-07 11:29:38 · 1549 阅读 · 0 评论 -
HDU 4119 Isabella's Message(模拟)
题目链接:Click here~~题意:有一个 n*n 的单词表,里面写有字母或者空格。然后给你一个 n*n 的不透明纸板,纸板中有若干洞,把纸板盖到单词表上,你可以从洞里看到一些单词,按照顺序读出来,然后旋转90度,继续,直到转完一圈。最后问将它们连起来是否能组成一句话,使句中单词都在他的字典里。解题思路:初始方向不定,但最多就 4 种情况,可以枚举。之后就是原创 2012-10-14 10:24:13 · 1327 阅读 · 0 评论 -
HDU 4286 Data Handler(12年天津网络赛-模拟)
题目链接:Click here~~题意:给一列数字,一个左指针 L 和一个右指针 R。然后有7种操作。最后输出操作完的结果。比赛时敲了2个小时才敲出来。。。各种弱。解题思路:观察这7种操作,我们发现,除了翻转,另外6种操作都是对于 L 或 R 这两点进行的。这不就是双向队列么。于是想到用三个队列来储存所有的数据:L 左边的原创 2012-09-10 10:47:59 · 3772 阅读 · 2 评论 -
NYOJ 524 & HDU 2054 A==B?(模拟)
题目链接:Click here~~还是一道模拟题。和上次的A+B四类似,先记录每个数字的符号,然后把符号去掉,处理每个数字的前缀0和后缀0,然后比较。需要注意的是:1、删前缀0的时候,整数必须保留一位。2、只有小数才删后缀0。3、注意+0 == -0。#include #include #include #include const int M=10原创 2012-04-10 07:15:06 · 1202 阅读 · 0 评论 -
ZOJ 3657 The Little Girl who Picks Mushrooms(12年长春区域赛-C题-枚举)
题目链接:Click here~~题意:一共有5座山,有人拿5个篮子去采蘑菇,现在他已经采了几座山上的蘑菇,之后几座山的蘑菇数量你可以自己确定。但是他要交出3个篮子,且它们的和必须是1024的倍数。否则,剩余两个篮子也要交出。之后,如果剩余数量大于1024要减去1024直到不大于。问最后剩余的最大值。解题思路:水题,WA了5次,我还以为是题意理解错了原创 2012-10-16 08:54:15 · 1890 阅读 · 0 评论 -
大数
还没有学JAVA,留作纪念,目前只支持大数相加,相乘,求幂,比较大小。#define CLR(a,v) memset(a,v,sizeof(a))const int base = 1000;struct BigNum{ int d[55],len; BigNum(int l=0){CLR(d,0);len=l;} BigNum(char* num,int l=翻译 2012-12-20 20:18:17 · 773 阅读 · 0 评论 -
HDU 1877 又一版 A+B(进制转换)
题目链接:Click here~~主要看下如何用递归实现十进制向m进制转换。#include int m;void Ck(int n){ if(n>=m) Ck(n/m); printf("%d",n%m);}int main(){ int A,B; unsigned int C; while(scanf("%d",&m),m) { scanf(原创 2012-05-22 08:42:17 · 1459 阅读 · 0 评论 -
UESTC 1651 Fill Numbers(模拟)
题目链接:Click here~~题意:给n*m的矩阵,里面大部分写着数字,部分数字未给出,用-1表示,且每行每列未给出的数字不超过2个。然后给你每行需要满足的和与每列需要满足的和。让你判断是否存在方案满足条件,如果满足,是否有多种。解题思路:先把每行(列)空1个的格子填好,填好后,判断其对应的列(行)是否出现矛盾。如果不矛盾,继续填。当没有空1个格子的时候,就不用原创 2012-05-06 13:02:58 · 716 阅读 · 0 评论 -
NYOJ 513 & HDU 1753 A+B Problem IV(模拟)
题目链接:Click here~~一道高精度加法的题目。由于数据中可能既有小数又有整数,所以我把整数变成小数(后面加".0"),从而化为两个小数相加的问题。找小数点的时候,先判断它是否有末尾0,把末尾0先消去(最少保留一个)。然后把小数点对齐,按照A+B(二)的做法先把数组倒置,然后对应位相加。 #include #include #define max(a,原创 2012-04-02 10:29:44 · 1247 阅读 · 2 评论 -
NYOJ 413 && POJ 1019 Number Sequence(模拟)
题目链接:Click here~~很早以前就看懂的一道题,当时不会做,今天在poj看到了, 有点思路,就写了。题意:有一个很长的串(称为大串),它由若干个小串相连,且小串i为它之前小串i-1加数字i组成,问此大串中第n位是哪个数字。解题思路:我们观察小串的规则可以看出,串i的长度等于串i-1的长度加上数字i的长度,而数字i的长度很容易求出来,所以我们可以由递推求出每个串原创 2012-05-10 11:27:23 · 862 阅读 · 0 评论 -
HDU 1042 N!(模拟)
题目链接:Click here~~#include #include #define base 10000 //1万代表每位存4位./*想想当N变大时,考虑中间数据是否会溢出int(即base*N) */int num[10000];//此处位数根据N的阶乘位数/base的位数变化而变化int main(){ int n; while(~scanf("%d",&n原创 2012-01-12 22:37:26 · 923 阅读 · 2 评论 -
Ordinal number(序数词表示)
那天比赛做的,关于如何表示序数词,记录下来,以后看。#include int main(){ int z,n; scanf("%d",&z); while(z--) { scanf("%d",&n); if(n%100/10==1) printf("%dth\n",n); else原创 2012-04-08 21:19:42 · 1305 阅读 · 0 评论