题解

120 条题解

  • 0
    @ 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 秒杀

  • 0
    @ 2008-08-21 15:02:23

    写的什么东西

    看都看不懂

    想骂人了...

  • 0
    @ 2008-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

    弱弱的水题

  • 0
    @ 2008-07-23 08:35:34

    典型的回溯

    就是让你用回溯做

    秒杀

    提AC率喽

  • 0
    @ 2007-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

    发现还有这题弱题。。

  • 0
    @ 2007-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

  • 0
    @ 2007-11-11 17:11:13

    第1000个人过,好有记念意义。

  • 0
    @ 2007-10-24 19:23:14

    766,不错的数字。AC的第76个题目

  • 0
    @ 2007-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

    庆祝 :本人普及组至此为止全过了!@~~

  • 0
    @ 2007-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

  • 0
    @ 2007-07-03 22:16:18

    可以用做《火星人》这题的思路!

  • 0
    @ 2007-06-19 10:21:34

    递归即可~

  • 0
    @ 2007-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

  • 0
    @ 2007-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

  • 0
    @ 2007-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

  • 0
    @ 2006-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~~哈哈

  • -1
    @ 2014-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数。
    }

  • -1
    @ 2014-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数。
    }

  • -1
    @ 2013-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.

  • -1
    @ 2013-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.

信息

ID
1318
难度
1
分类
组合数学 点击显示
标签
递交数
2115
已通过
1438
通过率
68%
被复制
23
上传者