2265.最接近神的人
input:Sophist.in output:Sophist.out
时间限制: 1000 ms 空间限制: 60000 KB
题目描述
破解了符文之语,小 FF 开启了通往地下的道路。 当他走到最底层时, 发现正前方有一扇巨石门, 门上雕刻着一副古代人进行某种活动的图案。而石门上方用古代文写着“神的殿堂“。小FF 猜想里面应该就有王室的遗产了。但现在的问题是如何打开这扇门……
仔细研究后, 他发现门上的图案大概是说:古代人认为只有智者才是最容易接近神明的。 而最聪明的人往往通过一种仪式选拔出来。 仪式大概是指,即将隐退的智者为他的候选人写下一串无序的数字, 并让他们进行一种操作, 即交换序列中相邻的两个元素。 而用最少的交换次数使原序列变成不下降序列的人即是下一任智者。
小 FF 发现门上同样有着 n 个数字。于是他认为打开这扇门的秘诀就是找到让这个序列变成不下降序列所需要的最小次数。但小 FF 不会……只好又找到了你,并答应事成之后与你三七分……
输入
第一行为一个整数 n,表示序列长度
第二行为 n 个整数,表示序列中 ...
2127.电子表格
input:excel.in output:excel.out
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
也许你用过Microsoft Excel之类的电子制表软件,这类软件最令人称道的就是强大的公式计算功能。现在希望你也来实现一个具有最基本功能的电子制表软件。表格共有m列(0 < m • 26),从左到右依次用A到Z的大写英文字母表示;有n行(0 < n <100),从上到下依次用1到100的整数表示。这样,每一个单元格的位置就可以唯一地用它所在的列和行表示出来,例如从左到右第3列,从上到下第5行的单元格就可以用“ C5”来表示(注意,这里字母和数字中间没有空格)。
现在对表格进行了一系列的操作,这些操作主要就是赋值和查询。定义操作的输入规则
如下:
1.每个操作占一行,根据操作类型的不同,每行中可能有二至四个用空格隔开的“单词”;
2.每行的第一个单词指定了该操作涉及的单元格的位置;
3.每行的第二个单词指定了相应的操作,可能是: input,output,sum,avg
(1).如果第二个单词是input,表示接下来的一个整数是 ...
2126.最大约数和
input:maxsum.in output:maxsum.out
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。
输入
输入一个正整数S
输出
输出最大的约数之和
样例输入
111
样例输出
19
数据范围限制
对于30%的数据, S<=10;
对于100%的数据, S <=1000。
提示
样例说明:
取数字4和6,可以得到最大值(1 + 2) + (1 + 2 + 3) = 9。
代码
12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>using namespace std;int s,ans=0;int a[1000],b[1000],f[1000];int max(int a,int b){ return (a>b?a:b);}void find(int temp){ for(int i=1;i<=temp ...
2125.最小花费
input:money.in output:money.out
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。
输入
第一行输入两个用空格隔开的正整数n和m,分别表示总人数和可以互相转账的人的对数。以下m行每行输入三个用空格隔开的正整数x; y; z,表示标号为x的人和标号为y的人之间互相转账需要扣除z%的手续费(z < 100)。最后一行输入两个用空格隔开的正整数A和B。数据保证A与B之间可以直接或间接地转账。
输出
输出A使得B到账100元最少需要的总费用。精确到小数点后8位。
样例输入
123453 31 2 12 3 21 3 31 3
样例输出
1103.07153164
数据范围限制
对于所有数据, 1 <= n <=2000。
代码
123456789101112131415161718192021222324252627282930313233 ...
2000.Leo搭积木
input:brick.in output:brick.out
时间限制: 1000 ms 空间限制: 128000 KB
题目描述
Leo是一个快乐的火星人,总是能和地球上的OIers玩得很high。
2012到了,Leo又被召回火星了,在火星上没人陪他玩了,但是他有好多好多积木,于是他开始搭积木玩。
火星人能制造n种积木,积木能无限供应。每种积木都是长方体,第i种积木的长、宽、高分别为li、wi、hi。积木可以旋转,使得长宽高任意变换。Leo想要用这些积木搭一个最高的塔。问题是,如果要把一个积木放在另一个积木上面,必须保证上面积木的长和宽都严格小于下面积木的长和宽。这意味着,即使两块长宽相同的积木也不能堆起来。
火星上没有电脑,好心的你决定帮助Leo求出最高的塔的高度。
【提示】
每种积木都可以拆分成高度分别为li、wi、hi的三种积木,另两边作为长和宽,保证长>=宽。
输入
第一行,一个整数n,表示积木的种数
接下来n行,每行3个整数li,wi,hi,表示积木的长宽高
输出
一行一个整数,表示塔高 ...
1999.Wexley接苹果
input:apple.in output:apple.out
时间限制: 1000 ms 空间限制: 128000 KB
题目描述
Wexley最近发现了一个古老的屏幕游戏。游戏的屏幕被划分成n列。在屏幕的底端,有一个宽为m列的篮子(m<n)。在游戏过程中,Wexley能左右移动这个篮子, Wexley的操作很犀利,移动是瞬间完成的,但是篮子必须始终都在屏幕中。 苹果从屏幕的顶端落下,每个苹果从n列中的某一列顶端掉落,垂直掉落到屏幕的底端。每个苹果总是在上一个苹果掉落到底端的时候开始掉落。Wexley想要通过移动篮子来接住所有的苹果。起先,篮子在屏幕的最左端。
求出Wexley要接住所有的苹果所需移动的最短距离。
输入
第一行,两个整数n、m,如题所述
第二行,一个整数k,表示掉落的苹果总数
接下来k行,每行一个整数Ai,表示每个苹果掉落的位置
输出
一行一个整数,表示所需移动最短距离
样例输入
12345678910111213Sample Input1:5 13153Sample Input2:5 2315 ...
1574.X-因子链
input:factor.in output:factor.out
时间限制: 1000 ms 空间限制: 131072 KB
题目描述
给一个正整数X,一个长度为m的X-因子链是指这样一个序列:X0=1,X1,X2,。。。,Xm=X满足:Xi<Xi+1同时Xi**|**Xi+1(Xi+1能被Xi整除)
要求X-因子链的最大长度Len和长度为Len的X-因子链的数量。
输入
一个正整数X(X <231)
输出
一行,两个整数,分别表示最大长度和该长度链的种数。
样例输入
1100
样例输出
14 6
数据范围限制
代码
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef unsigned long ...
1567.简单题
input:simple.in output:simple.out
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
给你N个整数A1,A2,….,AN,你可以进行两种操作:一种把一给定区间的每个数是增加一个值;另一种是计算某一给定区间的数字的和。
输入
第一行包含两个整数N和Q.1<=N,Q<=100000
第二行包含N个整数,是A1,A2,….,AN的初始值。-1000000000<=Ai<=1000000000
接下来Q行,描述操作。
“C a b c”表示把Aa,Aa+1,….Ab都增加c,-10000<=c<=10000。
“Q a b”表示询问Aa,Aa+1,….,Ab的和。
输出
对于每个询问输出对应的和,每行一个。
样例输入
123456710 51 2 3 4 5 6 7 8 9 10Q 4 4Q 1 10Q 2 4C 3 6 3Q 2 4
样例输出
1234455915
数据范围限制
【限制】
30%数据 N,Q<=10000
代码
1234567891011121314151617181 ...
1566.幸运锁
input:lucky.in output:lucky.out
时间限制: 2000 ms 空间限制: 256000 KB
题目描述
有一把幸运锁,打开它将会给你带来好运,但开锁时需要输入一个正整数(没有前导0)。幸运锁有一种运算,对于一个正整数,返回他的相邻两位数字间的差,如1135,运算结果为22(会去掉前导0)。
现在已知只有经过反复运算最终结果为7的数才能打开这把锁,给你一个区间[a,b],问该区间中有多少个能打开幸运锁的幸运数。
输入
第一行两个整数a,b。
输出
一个整数K,表示共有多少个这样的数。
样例输入
11 10
样例输出
11
数据范围限制
【限制】
1<=a<=b<=10^9。
30%的数据有b<=10^6。
代码
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273#include <bits/stdc++ ...
1565.神秘山庄
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
翠亨村是一个神秘的山庄,并不是因为它孕育了伟人孙中山,更神秘的是山庄里有N只鬼、M只兔子,当然还有你。其中每秒钟:
\1. 恰有两个生物遇到。
\2. 任意两个生物之间相遇的概率是均等的。
如果两只兔子相遇,没有事情发生;如果两只鬼相遇,他们会互相厮打,最终一起死亡;如果鬼遇到兔子,兔子就会被吃掉;如果鬼遇到你,哈哈。。。。symbol就见不到你了;如果你遇到兔子,那么你可以选择杀或不杀(概率相等)。
问你能活着见symbol的概率。
输入
第一行两个整数N,M。
输出
一个实数,表示你活下来的概率,精确到小数点后6位。
样例输入
10 0
样例输出
11.000000
数据范围限制
提示
【限制】
0<=N,M<=1000。
对于20%的数据:N,M<=10。
对于30%的数据:M=0。
代码
123456789101112#include<bits/stdc++.h>using namespace std;double n,m,a,sum=1;int main(){ ...