随笔分类 - 基础题
摘要:题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=342 题目意思:给出一段字符串(大写字母+数字组成)。判断是否为回文串 or 镜像串 or 回文
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5202题目意思:给出一个长度为 n,只有小写字母和 ? 组成的字符串。现在需要向 ? 的位置填小写字母,使得最终得到的字符串是字典序最小且不是回文串。如果怎么填都不符合结果,则输出 "QwQ"。 首先我...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5162题目意思:有 n 个kid,每个 kid 有三个成绩 a, b, c。选最大的一个成绩作为这个 kid 的最终成绩。然后根据每个 kid 的最终成绩,对他们进行排名。 赛中写得比较丑陋,这个还比较顺...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1014题目意思:给出 STEP 和 MOD,然后根据这个公式:seed(x+1) = [seed(x) + STEP] % MOD,问是否在一个周期里可以产生 0 ~ mod-1 的数。可以的话输出 "G...
阅读全文
摘要:题目链接:http://codeforces.com/contest/493/problem/A题目意思:给出两个字符串,分别代表 home 和 away。然后有 t 个player,每个player偶四个属性描述:分钟,所属的队名(即上面的两个字符串的其中一个),该player的num,得到的ca...
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/478/A题目意思:简单来说,就是初始化的时候,五个人的值都是 b,现在给出每个人最终的状态:就是经过互相给予后或少或多的值的情况,问是否能求出这样一个 b。 好容易想到的方法是,求出已知的这五个数最终状态的...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5373题目意思: 有两个class:A 和 B,Bob 在 Class A 里面。现在给出 Class A(n-1人) 和 Class B(m人) 所有人的分数,除了Bo...
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/475/A题目意思:输入一个整数 k(0 ≤ k ≤ 34),表示participants的人数,需要在一部34座的车上为每个人安排位置。这部车除了最后面那行有 4 个位,其他行都有3个位(应该是留一些空间作...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5058(格式有点问题,为了方便阅读~~~整个复制下来吧)题目意思:给出两个长度都为 n 的集合你,问这两个集合是否相等。 其实思路非常容易想到,就是去重后判断嘛~~~我用到了set 来做。不过有个小细节...
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/433/A题目意思:给定 n 个只由100和200组成的数,问能不能分成均等的两份。 题目其实不难,要考虑清楚数量问题即可。就是说,200的数量是奇数或偶数,100的数量是奇数或偶数时的处理。 一开始可能...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3617题目意思:给出一条长度为n的字符串S,目标是要构造一条字典序尽量小,长度为n的字符串T。构造的规则是,如果S的头部的字母 S的尾部的字母,那么将S的尾部的字母加入到T中,删除S的尾部的字母。 这个题目的关键是如何处理 S 的头部的字母(假设用 i 指示) = S的尾部的字母(j) 这种情况。此时需要比较 i+1 和 j-1 的位置的字母,如果相同,继续比较下去。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn =...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3750 约瑟夫问题,直接模拟即可。 1 #include 2 #include 3 using namespace std; 4 5 const int maxn = 65; 6 7 int main() 8 { 9 char ch;10 int i, n, w, s, num[maxn];11 string per[maxn];12 while (scanf("%d", &n) != EOF)13 {14 for (i = 0; i > per[i]; // 保...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2013 设长度非递减的字串序列为s[1]...s[n]。设计递归子程序print(n),其中n为字串序号,每分析1个字串,n=n-1。 n = 0 为边界。字串s为局部变量: 先输入和输出当前组的第1个字串s,n = n - 1;若n > 0,则输入当前组的第2个字符s,n = n - 1。若n > 0,则通过递归调用print(n)将字串s入栈。回溯过程相当于栈顶字串s出栈,因此直接输出s。 1 #include 2 #include 3 using namespace std; 4 5 void print(int
阅读全文
摘要:题目链接:http://poj.org/problem?id=2136 题意不难理解,就是输入四行字符串(每行字符总数不超过72个),统计26个英文字母的数目,并按柱状图的形式输出。我的思路就是,先用一维数组total[]统计每个英文字母的个数,接着找出最大的频率,保存在max中;紧接着用一个二维数组word[][](这个比较关键)记录每一个字母在0~max中是否存储数据,有的话则置1,没有则为0。(假如:字母'A'的频率是2,max = 10,那么word[0][0] = 0, word[0][1] = 1, word[0][2]= 1, word[0][3] = 0....
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4505 思路:开门次数的时间是跟要去的楼层数中总共有多少个不同的数有关; 每下一人的总时间跟乘坐电梯的总人数有关; 最后问题出现了,向上运行或向下运行的时间我是根据:由于电梯最开始在0层,那么第一个人要去的楼层肯定是上去的,所以是 第一个人要去的楼层 × 6,中间那些人,就要判断是向上还是向下才能得出结果,最后一个人去完要去的楼层后,势必要回到0层,所以最后的时间还要加上 最后那个人要去的楼层 × 4。 wa代码 1 #include <iostream> 2 usi
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4520 1 #include <iostream> 2 #include <algorithm> 3 #include <math.h> 4 using namespace std; 5 6 int main() 7 { 8 int n, i, besti; 9 double p[30], sor[30], final, sum, min;10 while (cin >> n && n)11 {12 besti = sum = 0;13
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4500 找规律的题目,找到就很简单了:如果该位置是负整数,则四周的数中,正整数和负整数都要相加;如果该位置是正整数,则四周的数中,如果是负整数,则加上它的绝对值,是正整数则直接相减,归结到底就是无论是正负整数,都要相减。要注意的一点是:要判断越界情况! 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int i, j, max, bi, bj, n, m, pos[22][22], cur[22][22]
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4524 一开始看题目,以为很难,其实是自己吓唬自己.....题目有句话要特别注意:如果右边没有箱子或者右边的箱子已经消失了,则无法操作当前的箱子,这是解题的关键!根据这个条件,比较序列中紧挨着的前后两个数(假设是i、j,j=i+1),要分三种情况讨论:1、相等(a[i] = a[j])。这时,两个数都变成0,下一个操作数是a[j]的下一个数,也就是i+2的位置 2、a[i] > a[j],此时肯定不符合题目条件,因为在当前箱子还没消失但右边箱子已经消失的情况下,是无法操作当前箱子的,此时最后肯
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2073 这是一道找规律的题目。给出两点((x1,y1)和(x2,y2)),假设以(0,0)这个起点开始画线。可以发现(0,1)->(1,0),(0,2)-> (2,0),...(0,n)-> (n,0)这些下降的线上才有多个分布的点,而这些点是有规律可循的,任意的点(x,y)的和等于它所处的线上的端点的x和y的和,而且越往线下画,它的x坐标在递增,y坐标在递减。而(1,0)->(0,2),(2,0)->(0,3)...(n,0)->(0,n+1)这些上升的线上是没
阅读全文

浙公网安备 33010602011771号