![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm记录
我是一唯
一唯的Q是195515320
展开
-
1004 成绩排名
1004. 成绩排名 (20)时间限制 400 ms内存限制 32000 kB代码长度限制 8000 B判题程序 Standard 作者 CHEN, Yue读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为 第原创 2014-06-29 20:13:48 · 1852 阅读 · 0 评论 -
time函数的用法
计算今天是星期几,计算时间差 1997年7月1日 到 今天过去了多少天?#include #include //关于获取当前时间的函数 int main(){ // 当前时间 time_t t = time(NULL); printf("time: %d\n", t); struct tm* t1 = gmtime(&t);/* 函数原创 2014-03-08 12:11:49 · 711 阅读 · 0 评论 -
高斯日记
题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4原创 2014-03-08 12:41:18 · 459 阅读 · 0 评论 -
全排列的个数
计算3个A,2个B可以组成多少种排列的问题(如:AAABB, AABBA)是《组合数学》的研究领域。但有些情况下,也可以利用计算机计算速度快的特点通过巧妙的推理来解决问题。下列的程序计算了m个A,n个B可以组合成多少个不同排列的问题。#includeint f(int m, int n);int main(){ int m, n; scanf("%d%d原创 2014-03-06 18:50:59 · 1036 阅读 · 0 评论 -
10进制小数转化为任意进制小数
将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出。例如:若十进制小数为0.795,则输出:十进制正小数 0.795000 转换成 2 进制数为: 0.11001011十进制正小数 0.795000 转换成 3 进制数为: 0.21011011十进制正小数 0.795000 转换成 4 进制数为: 0.30232011十进制正小数 0.7原创 2014-03-06 18:33:05 · 8924 阅读 · 0 评论 -
数组越界
给定一个串,例如“aabbbcddddkkkmmmmaakkkk”我们希望去掉连续的重复字母,得出串:“abcdkmak”#includeint main(){ char *p = "aaaabbbbbccccffffdddeeeffggkk"; char buf[100]; char *q = p; int i = 0; for(;*q;){ if(p ==原创 2014-03-06 15:57:18 · 488 阅读 · 0 评论 -
车票找零
公交车票价为5角。假设每位乘客只持有两种币值的货币:5角、1元。再假设持有5角的乘客有m人,持有1元的乘客有n人。由于特殊情况,开始的时候,售票员没有零钱可找。我们想知道这m+n名乘客以什么样的顺序购票则可以顺利完成购票过程。显然,m =n的时候,有些情况也不行。比如,第一个购票的乘客就持有1元。下面的程序计算出这m+n名乘客所有可能顺利完成购票的不同情况的组合数目。注意:只关心5角和1元交替出现原创 2014-03-06 19:27:04 · 615 阅读 · 0 评论 -
9以内的阶乘问题
神秘的三位数有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!下面的程序用于搜索这样的3位数。#includeint main(){ int biao[] = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880}; int i; for(i = 100; i < 1000; i++){原创 2014-03-06 15:46:22 · 1530 阅读 · 0 评论 -
swap函数
假设a,b,c是3个互不相等的整数。下列代码取出它们中居中的数值,记录在m中。其中的swap()函数可以交换两个变量的值#include#includeusing namespace std;int main(){ int a= 5, b = 3, c =1; if(a > b) swap(a,b); if(b > c) swap(b,c); if(a > b)原创 2014-03-06 17:10:06 · 523 阅读 · 0 评论 -
6174问题
任意给定一个4位数(不能所有位都相同),比如:3278,重新组合出最大数:8723,再重新组合出最小数:2378,相减,得到新的4位数(如不足则补0),重复这个过程,最后必然得到一个数字:6174。这个现象被称为:数字黑洞。下面的函数实现由给定的4位整数求出下一个整数的功能。#includeint f(int n);int main(){ int n; scanf("%d", &n原创 2014-03-05 17:06:04 · 519 阅读 · 0 评论 -
组合数
从4个人中选2个人参加活动,一共有6种选法。从n个人中选m个人参加活动,一共有多少种选法?#includeint f(int n, int m){ if(m > n) return 0; if(m == 0) return 1; if(m <= n) return f(n - 1, m - 1) + f(n - 1, m); }int main(){ in原创 2014-03-05 15:59:00 · 502 阅读 · 0 评论 -
求高精度幂
求高精度幂时间限制:3000 ms | 内存限制:65535 KB难度:2描述对数值很大、精度很高的数进行高精度计算是一类十分常见的问题。比如,对国债进行计算就是属于这类问题。 现在要你解决的问题是:对一个实数R( 0.0 ,要求写程序精确计算 R 的 n 次方(Rn),其中n 是整数并且 0 。输入输入有多行,每行有两个数R和n,空格分开。R的数字位数不超原创 2013-12-06 20:31:46 · 461 阅读 · 0 评论 -
两种方法求最大公约数和最小公倍数
#includeusing namespace std;// 最小公倍数 = 两数相乘/最大公约数 /*//辗转相除法int gcd(int a, int b){while(b != 0){//余数不为0,继续相除,直到余数为0 c = a%b;a = b;b = c;}coutreturn 0;}//辗转相减法i原创 2014-03-13 16:51:13 · 392 阅读 · 0 评论 -
快速幂
#includeusing namespace std;/*//二分法求幂 for :5^9 = 5^4 * 5^4 *5;int pow2( int a, int b ){ int r = 1, base = a; while( b != 0 ) { if( b % 2 ) r *= base; //*5原创 2014-03-13 16:31:27 · 378 阅读 · 0 评论 -
pat 1002 写出这个数
1002. 写出这个数 (20)时间限制 400 ms内存限制 32000 kB代码长度限制 8000 B判题程序 Standard 作者 CHEN, Yue读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里原创 2014-06-29 17:29:50 · 413 阅读 · 0 评论 -
1009. 说反话 (20)
1009. 说反话 (20)时间限制 400 ms内存限制 32000 kB代码长度限制 8000 B判题程序 Standard 作者 CHEN, Yue给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符原创 2014-06-29 20:48:58 · 542 阅读 · 0 评论 -
java中的保留n位小数
IO-03. 求整数均值(10)时间限制400 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者乔林(清华大学)本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。输入格式:输入原创 2014-05-26 22:57:44 · 548 阅读 · 0 评论 -
迪杰斯特拉算法
已知起点和终点q最短路径问题翻译 2014-04-26 15:16:57 · 446 阅读 · 0 评论 -
d的小l
D的小L时间限制:4000 ms | 内存限制:65535 KB难度:2描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0,,,聪明的你能帮匡匡解围吗?输入第一行输入一个数N(0输出按特定顺序输出所有组合。特定顺序:每一个组合中转载 2014-03-17 22:55:11 · 481 阅读 · 0 评论 -
字符串对比
字符串对比 (vip)问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing 3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能原创 2014-03-17 16:26:17 · 1627 阅读 · 0 评论 -
nyoj最小步数
最少步数时间限制:3000 ms | 内存限制:65535 KB难度:4描述这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1原创 2013-11-19 21:42:26 · 675 阅读 · 0 评论 -
八数码问题的暴力求解
#include #include //kbhit()函数的头文件#include #include //时间头文件struct Node { char a[10]; int from; };Node Q[181440] = { {"123456780", -1} }; //9的全排列除以2可以保存全部状态int num = 0;FILE *fp1, *f转载 2014-03-15 18:21:48 · 601 阅读 · 0 评论 -
喷水装置1
喷水装置(一)时间限制:3000 ms | 内存限制:65535 KB难度:3描述现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。转载 2014-03-15 10:51:48 · 373 阅读 · 0 评论 -
关于scanf对换行的吸收
#include int main(){ // 先读入一个整数,再读入2个串 int a; char b1[100]; char b2[100]; scanf("%d", &a); fgets(b1, sizeof(b1), stdin); fgets(b2, sizeof(b2), stdin); printf("a = %d\n", a); printf("b原创 2014-03-08 13:41:01 · 2793 阅读 · 1 评论 -
几种排序方法
//几种排序的方法 #includeint main(){ int a[k]; int k; for(k = 0; k < n; k++); scanf("%d", &a[k]);//冒泡排序/* int i, j; for(i = 0; i < n; i++){ for(j = 0; j < n - i; j++){ if(a[j] > a[j + 1]){原创 2014-03-13 19:48:58 · 471 阅读 · 1 评论 -
qsort函数
关于qsort函数的用法 1)int数组排序 同char型数组相同 int cmp(const void *a, const void *b){ //从小到大 return *(int *)a - *(int *)b; //强制类型转换 }qsort(a, lenth, sizeof(a[0]),cmp)2)对double类型数组排序(特别要注意) double原创 2014-03-13 23:39:42 · 436 阅读 · 0 评论 -
组合数(nyoj32)
组合数时间限制:3000 ms | 内存限制:65535 KB难度:3描述找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。输入输入n、r。输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入5 3样例输出543542541532原创 2013-11-11 20:26:48 · 438 阅读 · 0 评论 -
背包问题(nyoj106)
背包问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。输入第一行输入一个正整数n(1随后有n测试数原创 2013-11-11 16:51:29 · 448 阅读 · 0 评论 -
tree(nyoj)
Tree时间限制:1000 ms | 内存限制:65535 KB难度:3描述Little Valentine liked playing with binary trees very much. Her favorite game was constructing randomly looking binary trees with capital lett原创 2013-11-03 14:05:41 · 529 阅读 · 0 评论 -
树的判定(并查集)
树的判定时间限制:1000 ms | 内存限制:65535 KB难度:4描述A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edge原创 2013-11-03 13:50:02 · 588 阅读 · 0 评论 -
前缀式计算
前缀式计算时间限制:1000 ms | 内存限制:65535 KB难度:3描述先说明一下什么是中缀式:如2+(3+4)*5这种我们最常见的式子就是中缀式。而把中缀式按运算顺序加上括号就是:(2+((3+4)*5))然后把运算符写到括号前面就是+(2 *( +(3 4) 5) )把括号去掉就是:+ 2 * + 3 4 5原创 2013-11-03 13:41:03 · 488 阅读 · 0 评论 -
图像有用区域(广搜)
图像有用区域时间限制:3000 ms | 内存限制:65535 KB难度:4描述“ACKing”同学以前做一个图像处理的项目时,遇到了一个问题,他需要摘取出图片中某个黑色线圏成的区域以内的图片,现在请你来帮助他完成第一步,把黑色线圏外的区域全部变为黑色。 图1原创 2013-11-03 13:28:00 · 574 阅读 · 0 评论 -
独木舟上的旅行(贪心)
独木舟上的旅行时间限制:3000 ms | 内存限制:65535 KB难度:2描述进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的原创 2013-11-03 13:12:07 · 520 阅读 · 0 评论 -
擅长排列的小明(nyoj19)
擅长排列的小明时间限制:1000 ms | 内存限制:65535 KB难度:4描述小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。输入第一行输入整数N(1每组测试原创 2013-11-12 19:55:24 · 424 阅读 · 0 评论 -
黑白图(八连块)
Problem 46: 八连块Time Limit:1 Ms| Memory Limit:128 MBDifficulty:1Description输入一个n*n(n最大为30)的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数。如果两个黑格子有公共边或者有公共顶点,就说它们属于同一个八连块。如下图所示,八连块的个数为3。100100原创 2013-11-17 15:11:01 · 969 阅读 · 0 评论 -
小猴子下落
小猴子下落时间限制:3000 ms | 内存限制:65535 KB难度:3描述有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关原创 2013-11-03 12:56:13 · 542 阅读 · 0 评论 -
表达式求值
表达式求值时间限制:3000 ms | 内存限制:65535 KB难度:4描述ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它的值的计算器,现在请你帮助他来实现这个计算器吧。比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数)输入第一行输入一个整数n,共有n组测试数原创 2013-11-03 11:56:01 · 595 阅读 · 0 评论 -
蛇形填数
蛇形填数时间限制:3000 ms | 内存限制:65535 KB难度:3描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n输出输出结果是蛇形方陈。样例输入3样例输出7 8 1原创 2013-11-03 11:44:27 · 484 阅读 · 0 评论 -
喷水装置
喷水装置(一)时间限制:3000 ms | 内存限制:65535 KB难度:3描述现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。原创 2013-11-03 11:39:07 · 567 阅读 · 0 评论 -
括号配对
括号配对问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNo原创 2013-11-02 21:07:45 · 452 阅读 · 0 评论