算法竞赛入门经典
王哪跑nn
好风凭借力,送我上青云
展开
-
算法竞赛入门经典 习题3-1 得分(Score, ACM/ICPC Seoul 2005, UVa1585)
给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现 的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。#include<string.h>int main(){ char s[20]; scanf("%s",s); int i,n=0,sum=0; for(i=0;i<strlen...原创 2018-03-07 15:14:46 · 320 阅读 · 0 评论 -
算法竞赛入门经典习题2-1 水仙花
输出100~999中的所有水仙花数。若3位数ABC满足ABC=A3+B3+C3,则称其为水仙花 数。例如153=13+53+33,所以153是水仙花数。#include<stdio.h>int main(){ int i,a,b,c; for(i=100;i<=999;i++){ a=i/100; b=i/10%10; c=i%10; if(i==a*a*a...原创 2018-03-04 14:15:54 · 351 阅读 · 0 评论 -
算法竞赛入门经典年份(year)
输入年份,判断是否为闰年。如果是,则输出yes,否则输出no。提示:简单地判断除以4的余数是不够的。#include<stdio.h>int main(){ int n; scanf("%d",&n); if((n%4==0&&n%100!=0)||n%400==0) printf("yes"); else printf("no"); return 0;}...原创 2018-03-04 11:29:52 · 189 阅读 · 0 评论 -
算法竞赛与入门经典习题1-6 三角形(triangle)
输入三角形3条边的长度值(均为正整数),判断是否能为直角三角形的3个边长。如果 可以,则输出yes,如果不能,则输出no。如果根本无法构成三角形,则输出not a triangle#include<stdio.h>#include<math.h>int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c...原创 2018-03-04 11:08:15 · 433 阅读 · 0 评论 -
算法竞赛入门经典习题1-5 打折
一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金 额(单位:元),保留两位小数#include<stdio.h>#include<math.h>int main(){ int n; printf("你要购买的衣服件数为:"); scanf("%d",&n); if(n*95>=300) printf("您需付%....原创 2018-03-04 10:42:59 · 592 阅读 · 0 评论 -
算法入门经典习题1.4 正弦和余弦
输入正整数n(n<360),输出n度的正弦、余弦函数值。提示:使用数学函数。#include<stdio.h>#include<math.h>int main(){ int n; const double PI=acos(-1.0); scanf("%d",&n); printf("%f,%f",sin(n*PI/180),cos(n*PI/180));...原创 2018-03-04 10:37:09 · 410 阅读 · 0 评论 -
算法竞赛入门经典习题2-6 排列(permutation)
用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要 求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。提示:不必 太动脑筋。#include<stdio.h>int main(){ int a,b,c,d,e,f,g,h,i; for(a=1;a<=9;a++) for(b=1;b<=9...原创 2018-03-04 17:18:11 · 543 阅读 · 0 评论 -
习题2-5 分数化小数(decimal)
输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b≤106,c≤100。输 入包含多组数据,结束标记为a=b=c=0。样例输入:1 6 40 0 0样例输出:Case 1: 0.1667#include<stdio.h>#include<math.h>int main(){ __int64 a,b; int c,kase=0; while(sc...原创 2018-03-04 16:54:38 · 227 阅读 · 0 评论 -
算法竞赛入门经典习题2-4 子序列的和(subsequence)
输入两个正整数n<m<106,输出 ,保留5位小数。输入包含多组数据, 结束标记为n=m=0。提示:本题有陷阱。样例输入:2 465536 6553600 0样例输出:Case 1: 0.42361Case 2: 0.00001#include<stdio.h>int main(){ __int64 n,m,i,kase=0; while(scanf("%I64d %I64d",...原创 2018-03-04 15:47:56 · 1216 阅读 · 4 评论 -
算法竞赛入门经典 习题2-3 倒三角形(triangle)
输入正整数n≤20,输出一个n层的倒三角形。例如,n=5时输出如下:######### ####### ##### ### ##include<stdio.h>int main(){ int n,i,j; scanf("%d",&n); for(i=1;i<=n;i++){ for(j=1;j<i;j++) { pr...原创 2018-03-04 15:26:18 · 332 阅读 · 0 评论 -
算法竞赛入门经典--训练指南之分金币
圆桌旁坐着n个人,每人有一定数量的金币,金币总能被n整除。每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等。你的任务是求出被转手的金币数量的最小值。比如,n=4,且4个人的金币数量分别为1,2,5,4时,只需转移4枚金币(第3个人给第二个人两枚金币,第二个人和第四个人分别给第一个人1枚金币)即可实现每人手中的金币数目相等。输入格式:#include<stdio.h>#...原创 2018-03-03 17:13:30 · 514 阅读 · 0 评论 -
算法竞赛入门经典--训练指南之突击战
你有n个部下,每个部下需要完成一项任务,第i个部下需要你花Bi分钟交代任务,然后他会立刻独立地、无间断的执行Ji分钟后完成任务。你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务应尽早结束)。注意,不能同时给两个部下交换任务,但部下们可以同时执行他们各自的任务输入格式:输入包含多组数组,每组数据的第一行为部下的个数N(1<=N<=1000),以下n行每行两个正整...原创 2018-03-03 12:50:32 · 455 阅读 · 1 评论 -
算法竞赛入门竞赛 习题3-2 分子量(Molar Mass, ACM/ICPC Seoul 2007, UVa1586)
给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分 别为C, H, O, N,原子量分别为12.01, 1.008, 16.00, 14.01(单位:g/mol)。例如,C6H5OH的 分子量为94.108g/mol。 代码:#include<stdio.h>#include<string.h>#include<ctype.h&...原创 2018-03-07 18:06:03 · 251 阅读 · 0 评论