摘要:
http://codeforces.com/problemset/problem/279/A题意 :就是给你一个螺旋形的图,然后给你一个点,问从(0,0)点到这个点需要转几次弯,当然,是按着这个螺旋图走的。思路 :好吧,这个题是需要找一下规律的。。。。。。这个图主要注意的是我标了坐标的那四个点,那是每个螺旋的最右下方的点,然后那些带圆圈的是那个点应该转的次数,在(1,0)点转0次,在(2,-1)点转4次,在(3,-2)点需要转8次。所以,坐标中绝对值最大的减掉1再乘上4,而别的边就好说了,和它同一横坐标的次数相同,同一纵坐标的,次数加1,然后是次数加2,次数加3,次数加4.。。。。。。。。。。 阅读全文
摘要:
http://poj.org/problem?id=1797题意 :给出N个城市M条边,每条边都有容量值,求一条运输路线使城市1到N的运输量最大。思路 :用dijkstra对松弛条件进行变形。解释一下样例吧:从1运到3有两种方案方案1:1-2-3,其中1-2承重为3,2-3承重为5,则可以运送货物的最大重量是3(当大于3时明显1到不了2)方案2:1-3,可知1-3承重为4,故此路可运送货物的最大重量是4,故答案输出4#include #include #include using namespace std;int a[1005][1005],n,m,dp[1005] ;bool map[10 阅读全文
摘要:
题意 : 给出你一个句子,让你把句子中每个单词的字母顺序颠倒一下输出。思路 : 用栈即可,就是注意原来在哪儿有空格就要输出空格。//hdu1062#include #include #include #include using namespace std ;int main(){ int n ; scanf("%d",&n) ; getchar() ; char ch[1100] ; for(int i = 0 ; i stk ; gets(ch) ; int len = strlen(ch) ; ch[len] = '... 阅读全文
摘要:
http://acm.timus.ru/problem.aspx?space=1&num=1993题意:题目中那么多英语直接就没看,看了样例知道是什么意思了,就是给你一个字符串,算是一个句子,若是复杂句,是有“ ,”作为分割为两个句子的,若是不加任何括号的就原样输出,若是有括号的先输出花括号里的,再输出中括号里的,再输出小括号里的,每一句话只有第一个字母大写。思路 :模拟题吧,一向挺烦的,万一哪个细节没注意到就容易出错。#include#include#define maxn 1000using namespace std;char s[maxn],s1[maxn];int a[max 阅读全文
摘要:
http://codeforces.com/contest/369/problem/B题意 :n, k, l, r, sall, sk,n代表的是n个人,这n个人的总分是sall,每个人的得分大于 l 小于 r ,其中k个人的分数构成了非递增序列,他们的分数总共为sk,让你求出每个人的分数输出即可,只要输出满足要求的一种即可。思路 :这个题我是比赛完了才做的,据说很多人当时做的时候就因为错在没有特判0上,还有我做的时候越界了,因为没有考虑到如果k=n的话,n-k=0,这样的话sall%n就不对了。就是先看这k个人的,让sk取余k,得到的余数从第一个人开始加1,直到余数没了为止,因为这k个是非递 阅读全文
摘要:
http://poj.org/problem?id=3393题意 : 对于这篇长长的英语阅读,表示无语无语再无语,花了好长时间,终于读完了。题目中规定每周的周六日为假日,其他为工作日,若是一个月的第一个工作日是周一,就定义这个月为good,若是一个周的最后一个工作日是周五,就定义这个月为luck。给你一个起始年月,一个终止年月,让你求出在这中间有多少luck月有多少good月。当然了,若是一整片文章就写了这点东西那也就太废话了,所以题目中还给出了几点应该注意的:1.在1582年以前,只要年份取余4为0就为闰年,在1582年以后,年份取余4为0且取余100不为0或者是取余400为0才是闰年。2. 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1031题意 :n个人,每个人对m件衣服打分,每个人对第 i 件衣服的打分要加起来,选取和前 k 高的输出他们的编号 i ,然后这k个的序号要倒序输出思路 :快排一下就行了。这道题坑了我好几遍TLE,原因是我交的语言是G++而不是C++。。。。。。#include #include #include using namespace std ;struct node{ double sati ; int order ;} a[11100] ;bool cmp(const node &x,const n.. 阅读全文
摘要:
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2523思路 :就是先统计一下方阵中1多少2多少,确定一下下一步谁走,然后再从头开始找是0的位置,往上填下一步该谁走的棋,然后判断一下能不能构成三横三竖或者是对角线#include #include #include using namespace std ;int ch[8][3] = {{0,1,2},{3,4,5},{6,7,8},{0,3,6},{1,4,7},{2,5,8},{0,4,8},{2,4,6}} ;int sh[110] ; 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1022题意 :其实我没看题,看了样例还有下边的那个解释,就知道是什么意思了,这个我也说不清楚,,,,只可意会不可言传,反正就是火车按照第一个字符串进站,看能不能按第二个出来,如果能就输出怎么进出的,不能直接输出NO.。思路 :栈的应用。#include #include #include #include using namespace std ;int main(){ stackQ ; int n ,flag[100]; //memset(flag,0,sizeof(flag)) ; ... 阅读全文
摘要:
http://poj.org/problem?id=3292题意 :表示这个题我真的没看懂。。。大意是讲:对于4*n+1(n为自然数)组成的集合H-numbers,乘法在该集合中是封闭的,在该集合内,只能被1和自身整除的为H-primes,然后由两个H-primes的乘积为H-semi-prime,给你一个数k,让你求从1到k有多少个H-semi-prime。思路 :一开始没看懂题也就不知道意思,其实看来这道题就是枚举嘛。#include #include using namespace std;const int maxn = 1000201 ;int h_prime[maxn] ;int 阅读全文