随笔分类 - NYOJ
摘要:众数问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。输入第一行为n,表示测试数据组数。(n<30)每组测试的第一行是一个整数m,表示多重集S中元素的个数为m接下来的一行中给出m(m<100)个不大于10万的自然数(不会出现不同元素出现的次数相同的情况,如:S={11,11,22,2
阅读全文
posted @ 2012-09-09 16:50
加拿大小哥哥
摘要:n-1位数时间限制:3000 ms | 内存限制:65535 KB难度:1描述已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。输入第一行为M,表示测试数据组数。接下来M行,每行包含一个测试数据。输出输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。样例输入4102359239231000样例输出23923230View Code 1 #include <stdio.h> 2 #include <string.h> 3 int main() 4 { 5 int n,m;
阅读全文
posted @ 2012-09-09 16:44
加拿大小哥哥
摘要:1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 int main() 6 { 7 int pos=-1; 8 string s; 9 while(getline(cin,s))10 {11 while((pos=s.find("you",pos+1))!=s.npos)//不可写成s::npos 12 s.replace(pos,3,"we");13 cout<<s<<endl;14 }...
阅读全文
posted @ 2012-09-09 16:23
加拿大小哥哥
摘要:View Code 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 6 int main() 7 { 8 int i,j,k,T; 9 int n;10 char str[10]={'1','2','3','4','5','6','7','8','9'};//实际上可以吧10省略 11
阅读全文
posted @ 2012-09-09 15:46
加拿大小哥哥
摘要:Same binary weight时间限制:300 ms | 内存限制:65535 KB难度:3描述The binary weight of a positive integer is the number of 1's in its binary representation.for example,the decmial number 1 has a binary weight of 1,and the decimal number 1717 (which is 11010110101 in binary) has a binary weight of 7.Give a posi
阅读全文
posted @ 2012-09-09 15:20
加拿大小哥哥
摘要:士兵杀敌(四)时间限制:2000 ms | 内存限制:65535 KB难度:5描述南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上,这样,有时候,计算他们中的哪一个人到底有多少军功就是一个比较困难的事情,军师小工的任务就是在南将军询问他某个人的军功的时候,快速的报出此人的军功,请你编写一个程序来帮助小工吧。假设起始时所有人的军功都是0.输入只有一组测试数据。每一行是两个整数T和M表示共有T条指令,M个士兵。(1<=T,M<=1000000)随
阅读全文
posted @ 2012-09-09 08:05
加拿大小哥哥
摘要:矩形嵌套时间限制:3000 ms | 内存限制:65535 KB难度:4描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内。输入第一行是一个正正数N(0<N<10),表示测试数据组数,每组测试数据的第一行是一个正正数n,表示该组测试数据中含有矩形的个数(n<=1000)随后的n行,每行有两
阅读全文
posted @ 2012-08-23 16:54
加拿大小哥哥
摘要:K尾相等数时间限制:3000 ms | 内存限制:65535 KB难度:1描述输入一个自然数K(K>1),如果存在自然数M和N(M>N),使得K^M和K^N均大于等于1000,且他们的末尾三位数相等,则称M和N是一对“K尾相等数”。下面请编程求出M+N最小的K尾相等数。输入第一行包含一个正整数T,T<10000,表示有T组数据;随后有N行,每行包括一个整数K(K<2*10^10);输出对于输入的每个整数K,输出对应的M+N的最小值;样例输入12样例输出120 1 2 #include <stdio.h> 3 #include <string.h>
阅读全文
posted @ 2012-08-22 12:07
加拿大小哥哥
摘要:1 // 结果超过了long long,到32就超了 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 long long fun(int a,int b) 6 { 7 //if(0==b) 8 //return 1; 9 if(1==b)10 return a;11 //本以为会因尽快结束上城循环而加快速度,,谁知执行到return直接跳出函数 12 long long temp;13 temp = fun(a,b/2);14 ...
阅读全文
posted @ 2012-08-20 20:05
加拿大小哥哥
摘要:擅长排列的小明时间限制:1000 ms | 内存限制:65535 KB难度:4描述小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。输入第一行输入整数N(1<N<10)表示多少组测试数据,每组测试数据第一行两个整数 n m (1<n<9,0<m<=n)输出在1-n中选取m个字符进行全排列,按字典序全部输出,每种排列占一行,每组数据间不需分界。如样例样例输入23 14 2样例输出
阅读全文
posted @ 2012-08-14 10:21
加拿大小哥哥
摘要:懒省事的小明时间限制:3000 ms | 内存限制:65535 KB难度:3描述 小明很想吃果子,正好果园果子熟了。在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。小明决定把所有的果子合成一堆。 因为小明比较懒,为了省力气,小明开始想点子了: 每一次合并,小明可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。小明在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以小明在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的...
阅读全文
posted @ 2012-08-14 09:34
加拿大小哥哥
摘要:表达式求值时间限制:3000 ms | 内存限制:65535 KB难度:4描述ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它的值的计算器,现在请你帮助他来实现这个计算器吧。比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数)输入第一行输入一个整数n,共有n组测试数据(n<10)。每组测试数据只有一行,是一个长度不超过1000的字符串,表示这个运算式,每个运算式都是以“=”结束。这个表达式里只包含+-*/与小括号这几种符号。其中小括号可以嵌套使用。数据保证输入的操作数中不会出现负数。数据保证除数不会为0输出
阅读全文
posted @ 2012-08-10 20:23
加拿大小哥哥
摘要:中缀式变后缀式时间限制:1000 ms | 内存限制:65535 KB难度:3描述人们的日常习惯是把算术表达式写成中缀式,但对于机器来说更“习惯于”后缀式,关于算术表达式的中缀式和后缀式的论述一般的数据结构书都有相关内容可供参看,这里不再赘述,现在你的任务是将中缀式变为后缀式。输入第一行输入一个整数n,共有n组测试数据(n<10)。每组测试数据只有一行,是一个长度不超过1000的字符串,表示这个运算式的中缀式,每个运算式都是以“=”结束。这个表达式里只包含+-*/与小括号这几种符号。其中小括号可以嵌套使用。数据保证输入的操作数中不会出现负数。数据保证除数不会为0输出每组都输出该组中缀式相
阅读全文
posted @ 2012-08-10 16:04
加拿大小哥哥
摘要:前缀式计算时间限制:1000 ms | 内存限制:65535 KB难度:3描述先说明一下什么是中缀式:如2+(3+4)*5这种我们最常见的式子就是中缀式。而把中缀式按运算顺序加上括号就是:(2+((3+4)*5))然后把运算符写到括号前面就是+(2 *( +(3 4) 5) )把括号去掉就是:+ 2 * + 3 4 5最后这个式子就是该表达式的前缀表示。给你一个前缀表达式,请你计算出该前缀式的值。比如:+ 2 * + 3 4 5的值就是 37输入有多组测试数据,每组测试数据占一行,任意两个操作符之间,任意两个操作数之间,操作数与操作符之间都有一个空格。输入的两个操作数可能是小数,数据保证输入的
阅读全文
posted @ 2012-08-06 09:46
加拿大小哥哥
摘要:字符串替换时间限制:3000 ms | 内存限制:65535 KB难度:2描述编写一个程序实现将字符串中的所有"you"替换成"we"输入输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束输出对于输入的每一行,输出替换后的字符串样例输入you are what you do样例输出we are what we do#include<stdio.h>char str[1002];int main(){ int i; while(gets(str)) { i=0; while(str[i]!='\0')
阅读全文
posted @ 2012-07-02 00:08
加拿大小哥哥
摘要:城市平乱时间限制:1000 ms | 内存限制:65535 KB难度:4描述南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市。他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M。现在,小工军师告诉南将军,第K号城市发生了暴乱,南将军从各个部队都派遣了一个分队沿最近路去往暴乱城市...
阅读全文
posted @ 2012-07-01 23:07
加拿大小哥哥
摘要:光棍节的快乐时间限制:1000 ms | 内存限制:65535 KB难度:2描述光棍们,今天是光棍节。聪明的NS想到了一个活动来丰富这个光棍节。规则如下:每个光棍在一个纸条上写一个自己心仪女生的名字,然后把这些纸条装进一个盒子里,这些光 棍依次抽取一张纸条,如果上面的名字就是自己心仪的女生,那么主持人就在现场给该女生打电话,告诉这个光棍对她的爱慕之情,并让光棍当场表白,并得到现场所有人的祝福,没抽到的,嘿嘿就可以幸免了。假设一共有N个光棍,其中有M个没有抽到自己的纸条,求发生这种情况一共有多少种可能.。输入每行包含两个整数N和M(1<M<=N<=20),以EOF结尾。输出对于
阅读全文
posted @ 2012-06-30 12:44
加拿大小哥哥
摘要:此代码在全为-2时,输出0,显然错误,因为函数下标从0开始,而传递的参数希望他从1开始#include<stdio.h>#include<string.h> int a[101][101],b[10010];int subsequencesum(int a[],int n){int sum=0,maxsum=0,i;for(i=0;i<n;i++){sum+=a[i];if(sum>maxsum)maxsum=sum; elseif(sum<0)sum=0;}return maxsum;}int main(){int i,j,T,p,k;int col
阅读全文
posted @ 2012-06-29 22:18
加拿大小哥哥
摘要:比大小时间限制:3000 ms | 内存限制:65535 KB难度:2描述给你两个很大的数,你能不能判断出他们两个数的大小呢?比如123456789123456789要大于-123456输入每组测试数据占一行,输入两个不超过1000位的10进制整数a,b数据保证输入的a,b没有前缀的0。如果输入0 0表示输入结束。测试数据组数不超过10组输出如果a>b则输出“a>b”,如果a<b则输出“a<b”,如果相等则输出“a==b”。样例输入111111111111111111111111111 88888888888888888888-111111111111111111111
阅读全文
posted @ 2012-06-23 14:36
加拿大小哥哥
摘要:找球号(二)时间限制:1000 ms | 内存限制:65535 KB难度:5描述在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是"ADD",表示向空箱子里放m(0<m<=100)个球,另一种是"QUERY”,表示说出M(0<M<=100)个随机整数ki(0<=ki<=100000100),分别判断编号为ki 的球是否在这个空箱子中(存在为"YES",否则为"NO"
阅读全文
posted @ 2012-06-23 14:22
加拿大小哥哥