- 博客(16)
- 收藏
- 关注
原创 帅到没朋友 题解
原题链接 输入格式: 输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的ID,以空格分隔。 注意:没有朋友的人可以是根本...
2019-03-03 11:16:07
279
原创 谁先倒 题解
原题链接 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。 下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。 输入格式: 输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数)...
2019-03-03 10:48:11
280
原创 大笨钟 题解
原题链接 微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当...
2019-03-03 10:27:07
2962
原创 到底有多二 题解
原题链接 一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。 输入格式: 输入第一行给出一个不超过50位的整数N。 输出格式:...
2019-03-03 10:05:57
368
1
原创 抢红包 题解
没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。 输入格式: 输入第一行给出一个正整数N(≤10000),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下: K N1 P1 ⋯NK PK 其中K(0≤K≤20)是发出去的红包个数,Ni是抢到红包的人的编号,Pi>0)是其抢...
2019-03-03 09:56:18
421
原创 Fliptile解题报告
原题链接:http://poj.org/problem?id=3279 解题思路:这题难度不算很大,只需要对第一排的情况进行枚举,接下来每行的情况就固定了,唯一可以讲的就是枚举的时候使用二进制枚举法来枚举第一行的所有情况。 二进制枚举的代码如下: max=1<<m; //max表明第一行共有多少种枚举情况 for(i=0;i<max;i++) { a=i; nu...
2018-11-18 22:00:44
247
原创 To The Max 解题报告
原题链接:http://poj.org/problem?id=1050 思路:求最大子矩阵和。把二维的矩阵转换为一维,先用求一维最大和的方法求单行再求多行,用数组a来记录,再把a[i]和max进行比较,用max记录各组的最大和,再用ans记录最后输出的最大和。这道题想到把二维转换成一维后就很简单了,直接贴上代码。 代码: #include <stdio.h> #include <...
2018-11-04 22:52:20
379
原创 Brackets Sequence 解题报告
原题链接:http://poj.org/problem?id=1141 思路:先放一段核心代码解释,然后再附上代码。 解释:核心代码解释:字符串数组s存储着输入的字符串, dp[i][j]则用来表示区间[i,j]之间的括号匹配数, 然后当区间[i,j]中两段不匹配时,c[i][j]就表示区间[i,j]里最佳的添加括号的位置,表示需要在[i,c[i][j]][c[i][j]+1,j]中继续枚举。 而...
2018-11-04 22:29:57
257
原创 Max Sequence 解题报告
原题链接:http://poj.org/problem?id=2593 纪念下第一次用kmp 思路:先正向遍历数组a将以a[i]为结尾的最大和存储在m1里,再逆向遍历数组a将以a[i]为开头的最大和存储在m2里,然后再通过枚举,maxn=(maxn,(max(m1,m2)),maxn就是需要输出的答案 代码: #include<stdio.h> const int N=100005; ...
2018-11-04 21:41:44
263
原创 冒泡排序
#include<stdio.h> int main() { int num,t,change_num,i,j; int a[100]; scanf("%d",&num); t=0; while(num>t) { scanf("%d",&a[t++]); } for(i=0;i<num;i++) { change_num=0; ...
2018-09-22 12:43:46
139
原创 三点顺序
#include<stdio.h> int main() { int x1,x2,x3,y1,y2,y3,px1,px2,py1,py2; while(scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF) { px1=x2-x1; py1=y2-y1; px2=x3-x1...
2018-09-21 18:37:29
184
原创 次方求模
#include<stdio.h> int compute(int a,int b,int c) { int sum; sum=1; while(b) { sum*=a%c; b--; } return(sum%c); } int main() { int num,a,b,c,i,n; in...
2018-09-11 21:06:20
177
原创 逆康托展开
#include<stdio.h> int fact(int i) { int sum; sum=1; while(i) { sum*=i; i--; } return sum; } int pow10(int t) { int sum; sum=1; while(t-1) ...
2018-09-11 12:40:33
134
原创 筛法求素数
#include<stdio.h> int main() { int a,num,i,j; scanf("%d",&a); int flag[a+1],output[a]; num=0; for(i=0;i<=a;i++) { flag[i]=0; } for(i=2;i<=a;i++)...
2018-09-11 10:59:28
141
原创 康托展开
#include<stdio.h> int fact(int i) { int sum; sum=1; while(i) { sum*=i; i--; } return sum; } int pow10(int t) { int sum; sum=1; while(t-1) ...
2018-09-11 10:57:43
139
原创 欧几里德算法求最大公约数
#include&lt;stdio.h&gt; void swap(int &amp;a,int &amp;b) { a=a+b-(b=a); } int gcd(int a,int b) { while(b) { a=a%b; swap(a,b); } return a; } int main() { int a,b...
2018-09-11 08:59:51
240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅