最少乘法次数

#include <stdio.h>int main(){ int n; scanf("%d",&amp;n); while(n--) { int m,sum=0,t=0; scanf("%d",&amp;m); while(m) { if(m&amp;1) sum++; m>>=1; t++; } printf("%d\n",sum+t-2); } return 0;}
2012-04-04 19:24 | 阅读 1323 次 | 评论 0 条

大数的阶乘问题代码

#include <stdio.h>int main(){ int a[5000]={0,1},co=1,n; scanf("%d",&amp;n); for(int i=2;i<=n;i++) { int jinwei=0; for(int j=1;j<=co;j++) { a[j]=a[j]*i+jinwei; if(a[j]/10000) { jinwei=a[j]/10000; a[j]%=...
2012-04-01 20:23 | 阅读 1132 次 | 评论 0 条

好水的题

描述 Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear as a substring of B? For example, the text string B is ‘1001110110’ while the pattern string A is ‘11’, you should output 3, because the pattern A appeared at the posit ...
2012-04-01 14:40 | 阅读 862 次 | 评论 0 条

一种排序

描述现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形,按照长方形的长排序;3.如果编号和长都相同,按照长方形的宽排序;4.如果编号、长、宽都相同,就只保留一个长方形用于排序,删除多余的长方形;最后排好序按照指定格式显示所有的长方形;输入第一行有一个整数 0<n<10000,表示接下来有n组测试数据;每一组第一行有一个整数 0<m<1000,表示有m个长方形;接下来的m行,每一行有三个数 ,第一个数表示长方形的编号,第二个和第三...
2012-03-31 12:04 | 阅读 1145 次 | 评论 0 条

关于栈的一个问题1

描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3 [(]) (]) ([[]()])样例输出No No Yes#include <stdio.h>#include <string.h>int main(){ int n; ...
2012-03-29 21:37 | 阅读 1043 次 | 评论 0 条

竞赛类

2010年上海世界博览会(Expo2010),是第41届世界博览会。于2010年5月1日至10月31日期间,在中国上海市举行。本次世博会也是由中国举办的首届世界博览会。上海世博会以“城市,让生活更美好”(Better City,Better Life)为主题,将充分探索21世纪城市生活。这次世博会总投资达450亿人民币,创造了世界博览会史上的最大规模记录。吸引200个国家和国际组织参展。预计有7000万人次的参观者。为了更好地接待在这期间来自世界各地的参观者,如何合理安排各宾馆的住房问题提到了日程。组委会已接到了大量的客户住宿定单,每张定单的内容包括要住宿的房间数,开始住宿时间和要住的天...
2012-03-29 07:46 | 阅读 984 次 | 评论 0 条

队列问题

Train Problem I时间限制:3000 ms | 内存限制:65535 KB难度:1描述As the new term comes, the Ignatius Train Station is very busy nowadays. A lot of student want to get back to school by train(because the trains in the Ignatius Train Station is the fastest all over the world ^v^). But here comes a problem, there...
2012-03-28 08:25 | 阅读 919 次 | 评论 0 条

数学问题

现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的?如:图1:顺时针给出图2:逆时针给出 <图1> <图2>输入每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示A,B,C三个点的横纵坐标。(坐标值都在0到10000之间)输入0 0 0 0 0 0表示输入结束测试数据不超过10000组输出如果这三个点是顺时针给出的,请输出1,逆时针给出则输出0样例输入0 0 1 1 1 3 0 1 1 0 0 0 0 0 0 0 0 0样例输出0 1 #i...
2012-03-27 08:30 | 阅读 928 次 | 评论 0 条

贪心算法

描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。输入第一行输入一个正整数n(1<=n<=5),表示有n组测试数据;随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1<=s<=10);s表示有s个物品。接下来的s行每行有两个正整数v,w。输出输出每组测试数据中背包内的物品的价值和,每次输出占一行。样例输入1 3 15 5 10 2 8 3 9 样例输出65 #include <stdio....
2012-03-23 22:16 | 阅读 1039 次 | 评论 0 条

贪心算法

描述给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;输入第一行有一个整数0<m<100,表示有m组测试数据;每组测试数据有一个正整数n<1000000;输出如果符合条件,输出Yes,否则输出No;样例输入2 9 10样例输出Yes No#include <stdio.h>int main(){ int i,j,n,m,s,a[10]; for(i=1;i<=9;i++) { s=1; for(j=2;j<=i;j++) ...
2012-03-22 22:18 | 阅读 1059 次 | 评论 0 条

水题

描述请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,比如当n=92081346718538,m=10时,则新的最大数是9888 输入第一行输入一个正整数T,表示有T组测试数据每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)输出每组测试数据的输出占一行,输出剩余的数字按原次序组成的最大新数样例输入2 92081346718538 10 1008908 5样例输出9888 98思路:每一次都找一定范围的最大数#include <stdio.h>#include <string.h>i...
2012-03-22 21:50 | 阅读 1013 次 | 评论 0 条

字典树的问题

在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单。科学家想判断这片森林中哪种动物的数量最多,但是由于数据太过庞大,科学家终于忍受不了,想请聪明如你的ACMer来帮忙。输入第一行输入动物名字的数量N(1<= N <= 10000),接下来的N行输入N个字符串表示动物的名字(字符串的长度不超过10,字符串全为小写字母,并且只有一组测试数据)。输出输出这些动物中最多的动物的名字与数量,并用空格隔开(数据保证最多的动物不会出现两种以上)。样例输入10 boar pig sheep gazelle sheep sheep al...
2012-03-22 13:27 | 阅读 1255 次 | 评论 0 条

贪心(喷水装置)

描述现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。输入第一行m表示有m组测试数据每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。输出输出所用装置的个数样例输入2 5 2 3.2 4 4.5 6 10 1 2 3 1 2 1.2 3 1.1 1 2样例输出2 5#incl...
2012-03-21 21:59 | 阅读 1321 次 | 评论 0 条

最大长方形

描述A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal widths but may have different heights. For example, the figure on the left shows the histogram that consists of rectangles with the heights 2, 1, 4, 5, 1, 3, 3, measured in uni...
2012-03-20 22:28 | 阅读 1274 次 | 评论 0 条

一组数的加减(数学问题)Sum

Sum时间限制:1000 ms | 内存限制:65535 KB难度:2描述Consider the natural numbers from 1 to N. By associating to each number a sign (+ or -) and calculating the value of this expression we obtain a sum S. The problem is to determine for a given sum S the minimum number N for which we can obtain S by associatin...
2012-03-20 13:24 | 阅读 1311 次 | 评论 0 条

冒泡题目

Sort it时间限制:1000 ms | 内存限制:65535 KB难度:2描述You want to processe a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. Then how many times it need.For example, 1 2 3 5 4, we only need one operation : swap 5 and 4.输入The input c...
2012-03-20 13:14 | 阅读 940 次 | 评论 0 条

(经典贪心算法问题2)多机调度问题

某工厂有n个独立的作业,由m台相同的机器进行加工处理。作业i所需的加工时间为ti,任何作业在被处理时不能中断,也不能进行拆分处理。现厂长请你给他写一个程序:算出n个作业由m台机器加工处理的较短时间。输入第一行T(1<T<100)表示有T组测试数据。每组测试数据的第一行分别是整数n,m(1<=n<=10000,1<=m<=100),接下来的一行是n个整数ti(1<=t<=100)。输出所需的较短时间。(提示:不一定是最优解)样例输入2 2 2 1 5 6 3 2 5 13 15 16 20样例输出5 28#include <stdio.h>int main(){ int t...
2012-03-19 15:00 | 阅读 10564 次 | 评论 0 条

郑大校赛题目

我们平时数数都是喜欢从左向右数的,但是我们的小白同学最近听说德国人数数和我们有些不同,他们正好和我们相反,是从右向左数的。因此当他看到123时会说“321”。现在有一位德国来的教授在郑州大学进行关于ACM的讲座。现在他聘请你来担任他的助理,他给你一些资料让你找到这些资料在书中的页数。现在你已经找到了对应的页码,要用英文把页码告诉他。为了简化我们的问题,你只需要返回单词的大写的首字母。(数字0读成字母O)注意:每个数字式单独读取的,因此不会出现11读成double one的情况。输入输入分两部分:第一部分:一个整数T(1<=T<=1000)第二部分:一共T行,每行为一个数字。每个数的长度不...
2012-03-15 21:22 | 阅读 1487 次 | 评论 0 条

大数次方求模(a^b%c)

先把b表示成二进制形式。 你可以想象一下假设a=3,b=7,c=2; b的二进制代码简写为111,根据求模的公式c*d%e=(c%e*d%e)%e; 我们第一步把b转成二进制形式111,那么(a^b)%c={[(a^100)%c]*[(a^010)%c]*[(a^001)%c]}%c; 我们还会发现(a^100)%c=[(a^010)%c*(a^010)%c]%c; a^010%c=[(a^001%c)*a^001%c]%c; 以下是代码 #include <stdio.h>long mod(long a,long b,long c){ int i=0,d[500],...
2012-03-15 11:49 | 阅读 1704 次 | 评论 0 条

经典贪心算法问题

描述进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的规则,计算要安置所有旅客必须的最少的独木舟条数,并输出结果。输入第一行输入s,表示测试数据的组数;每组数据的第一行包括两个整数w,n,80<=w<=200,1<=n<=300,w为一条独木舟的最大承载量,n为人数;接下来的一组数据为每个人的重量(不能大于船的承载量);输出每组人数所需要的最少独木...
2012-03-14 22:41 | 阅读 1280 次 | 评论 0 条
文章分类
最新评论