120 条题解
-
0永远的波拿巴 LV 10 @ 2008-08-29 21:42:45
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms用递推也可以 才用31行 一次ac 秒杀
-
02008-08-21 15:02:23@
写的什么东西
看都看不懂
想骂人了... -
02008-08-20 19:19:20@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms弱弱的水题
-
02008-07-23 08:35:34@
典型的回溯
就是让你用回溯做
秒杀
提AC率喽 -
02007-12-05 18:32:26@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
发现还有这题弱题。。 -
02007-11-13 16:45:05@
直接枚举……
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 275ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:275ms -
02007-11-11 17:11:13@
第1000个人过,好有记念意义。
-
02007-10-24 19:23:14@
766,不错的数字。AC的第76个题目
-
02007-10-21 11:47:54@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms庆祝 :本人普及组至此为止全过了!@~~
-
02007-08-26 10:11:24@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02007-07-03 22:16:18@
可以用做《火星人》这题的思路!
-
02007-06-19 10:21:34@
递归即可~
-
02007-04-22 11:29:58@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
比赛时打错了一个字母'k',wa了九个点!
555~
本来400!!!
郁闷ing -
02007-01-06 20:39:20@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02007-01-04 19:56:01@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02006-12-22 22:03:04@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
楼下的运气果然好啊~~~~
我就差一点了~~~
考试时我400~~哈哈 -
-12014-08-03 21:23:17@
模拟嘛,所以要找一下它的规律。
所谓下一个,
1.
如果最后一个字符不是最大的,那么最后一个字符增加1就可以了。
2.
否则,看看前面一个是不是第二大(可用的字符中,不是给你的jam数中的),* 如果是,则增大1,并且最后一个字符就变成了这个字符+1。
* 否则,判断前面的字符串,操作回到1.
递归可以做。
本蒟蒻的c++程序如下(附上我啰嗦的解释):
###BLOCK CODE
#include <iostream>
#include<cstring>
using namespace std;
int s,e,w,c=1,ok[6];
//s、e分別是字符串開頭和結尾,w是位數,c用來记录第几个,ok表示第几个jam数存不存在。
string a; //a为原始字符串
void inc(int st,int en) //此函数用来计算下一个jam数,st、en表示当前要算的jam数的范围
{
if (a[w-1-e+en]<(char)(en+96)){ //情况1,最后一位可以增加
a[w-1-e+en]++;return;}
//w-1是当前jam数的第w位的数在a里的指针位置,-e+en表示当前范围内的最后一位
//就是说,现在要算下一个的这个数的最后一位,它不是w-1了,而是w-1减去尾巴(e-->en)的减少量(e-en)
else { //情况2,最后一位不能增加
inc(st,en-1); //递归,计算前st到en-1的数的下一位数。
a[w-1-e+en]=a[w+en-e-2]+1;}//这后面的数都要更新为前一位数+1了;这样字典序才小。
}
int main(){
cin>>s>>e>>w;
cin>>a;
for(int i=1;i<6;i++){
inc(s,e);
ok[c++]=1;//先让当前第c个jam数“存在”;
for(int j=0;j<w;j++)//如果这个jam数里面有比最大数还要大的数,那么这个jam数就是“不存在的”
if(a[j]>(char)(e+96))ok[c-1]=0;
if(ok[c-1])cout<<a;cout<<endl;}//打印出存在的jam数。
} -
-12014-08-03 21:15:39@
模拟嘛,所以要找一下它的规律。
所谓下一个,
1.如果最后一个字符不是最大的,那么最后一个字符增加1就可以了。
2.否则,看看前面一个是不是第二大(可用的字符中,不是给你的jam数中的),
*如果是,则增大1,并且最后一个字符就变成了这个字符+1。
*否则,判断前面的字符串,操作回到1.
递归可以做。
本蒟蒻的c++程序如下(附上我啰嗦的解释):
#include <iostream>
#include<cstring>
using namespace std;
int s,e,w,c=1,ok[6];
//s、e分別是字符串開頭和結尾,w是位數,c用來记录第几个,ok表示第几个jam数存不存在。
string a; //a为原始字符串
void inc(int st,int en) //此函数用来计算下一个jam数,st、en表示当前要算的jam数的范围
{
if (a[w-1-e+en]<(char)(en+96)){ //情况1,最后一位可以增加
a[w-1-e+en]++;return;}
//w-1是当前jam数的第w位的数在a里的指针位置,-e+en表示当前范围内的最后一位
//就是说,现在要算下一个的这个数的最后一位,它不是w-1了,而是w-1减去尾巴(e-->en)的减少量(e-en)
else { //情况2,最后一位不能增加
inc(st,en-1); //递归,计算前st到en-1的数的下一位数。
a[w-1-e+en]=a[w+en-e-2]+1;}//这后面的数都要更新为前一位数+1了;这样字典序才小。
}
int main(){
cin>>s>>e>>w;
cin>>a;
for(int i=1;i<6;i++){
inc(s,e);
ok[c++]=1;//先让当前第c个jam数“存在”;
for(int j=0;j<w;j++)//如果这个jam数里面有比最大数还要大的数,那么这个jam数就是“不存在的”
if(a[j]>(char)(e+96))ok[c-1]=0;
if(ok[c-1])cout<<a;cout<<endl;}//打印出存在的jam数。
} -
-12013-03-03 18:29:16@
program P1318;
var
s,t,w,i,j,k:integer;
a:string;
b:string;
begin
readln(s,t,w);
readln(a);
for i:=1 to 5 do
for j:=w downto 1 do
if ord(a[j])-96<(t-w+j) then
begin
b:=copy(a,1,j-1)+succ(a[j]);
for k:=j+1 to w do
b:=b+succ(b[k-1]);
a:=b;
writeln(a);
b:='';
break;
end;
end. -
-12013-03-03 18:28:51@
我表示30+行过的没用
program P1318;
var
s,t,w,i,j,k:integer;
a:string;
b:string;
begin
readln(s,t,w);
readln(a);
for i:=1 to 5 do
for j:=w downto 1 do
if ord(a[j])-96<(t-w+j) then
begin
b:=copy(a,1,j-1)+succ(a[j]);
for k:=j+1 to w do
b:=b+succ(b[k-1]);
a:=b;
writeln(a);
b:='';
break;
end;end.