摘要: 阶乘之和时间限制:3000 ms | 内存限制:65535 KB难度:3描述给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;输入第一行有一个整数0int fun1(int n){ int i=1,s=1; for(i=1;in) { break; } } if(n>=2*s) return 0; else { n-=s; fun1(n); }}int main(){ int m; scanf("%d",&m); while(m--) { int n; scanf( 阅读全文
posted @ 2013-08-15 21:21 王莜轩 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 独木舟上的旅行时间限制:3000 ms | 内存限制:65535 KB难度:2描述进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的规则,计算要安置所有旅客必须的最少的独木舟条数,并输出结果。输入第一行输入s,表示测试数据的组数;每组数据的第一行包括两个整数w,n,80#includeint cmp(const void *a,const void *b 阅读全文
posted @ 2013-08-15 17:13 王莜轩 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 喷水装置(一)时间限制:3000 ms | 内存限制:65535 KB难度:3描述现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0*(double *)a?1:-1;输入第一行m表示有m组测试数据每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。输出输出所用装置的个数样例输入252 3.2 4 4.5 6 101 2 3 1 2 1.2 3 1.1 1 2样例输出25#include#include#include#includeint 阅读全文
posted @ 2013-08-15 16:36 王莜轩 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 会场安排问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。输入第一行是一个整型数m(m#include#includetypedef struct time{ int start; int end;}time;time a[10010];int cmp(const void *a,const void *b){ time *c=(time* 阅读全文
posted @ 2013-08-15 16:30 王莜轩 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 过河问题时间限制:1000 ms | 内存限制:65535 KB难度:5描述在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,N人所需要的时间已知;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所需的时间。问题是,如何设计一个方案,让这N人尽快过桥。输入第一行是一个整数T(13时候,就是考虑用最小时间先把用时最长的两个人送过河,且手电筒仍然留在未过河的这边,剩下的再依次求解。把当前用时最长的两个人送过河可以考虑两种方案:方案一:  阅读全文
posted @ 2013-08-15 15:22 王莜轩 阅读(281) 评论(0) 推荐(0) 编辑