159 条题解

  • 0
    @ 2009-10-28 10:11:58

    注意第一个就是‘-’以及连续‘-’的情况,还有out文件可能有7KB

  • 0
    @ 2009-10-27 20:39:37

    水题,但做了我一个多小时。。。

    注意细节,加1减1什么的,还有就是做题不要急,先在纸上写出算法框架,让代码高效一点,就像做数学上的分类讨论,先把最简单的做出来,exit,之后剩下的情况也会变得简单。

    做这种题,一定要有信心,相信它很水,自己不水,心态在这时候是最关键的。考场上拿到它你能花多少时间做出来呢?

    就这么多吧。NOIP2009,再不能被水题吓住了...

  • 0
    @ 2009-10-22 22:35:53

    竟然交了3次。

    各位注意要判断连续‘-’的情况以及0-d或d-0的情况,

    没有判断则,

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案错误...程序输出比正确答案长

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案错误...程序输出比正确答案长

    ├ 测试数据 06:答案错误...程序输出比正确答案长

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Unaccepted 有效得分:70 有效耗时:0ms

    program P1379;

    const num:set of byte=[0,1,2,3,4,5,6,7,8,9];

    chr1:set of char=['a'..'z'];

    var p1,p2,p3,l,i,j,k,oa,ob,t:longint;

    str1:ansistring;

    begin

    readln(p1,p2,p3);

    readln(str1);

    l:=length(str1);

    t:=ord('-');

    write(str1[1]);

    for i:=2 to l-1 do

    begin

    if str1[i]'-' then write(str1[i])

    else

    begin

    oa:=ord(str1);

    ob:=ord(str1);

    if (oa

  • 0
    @ 2009-10-17 21:41:12

    无语啦,楼下是我的小号,交自己的代码被认定抄袭,给锁定了……

  • 0
    @ 2009-10-17 21:31:35

    要善于用Copy@Pastle..呵呵

    var

    p1,p2,p3:longint;

    s:string;

    i,j,k,t,l:longint;

    c:char;

    begin

    readln(p1,p2,p3);

    readln(s);

    l:=length(s);

    write(s[1]);

    for i:=2 to l-1 do

    begin

    if s[i]'-' then write(s[i]);

    if s[i]='-' then

    begin

    if (s in ['0'..'9'])and(s in ['0'..'9'])

    and(ord(s)

  • 0
    @ 2009-10-11 19:44:18

    列举所有情况就是了

    要细心

    其实也没多少行

    ---|---|---|---|---|---|---|---|---|--晒程序---|---|---|---|---|---|---|---|---|---|-

    program p1379;

    var

    a:string;

    p1,p2,p3,ck,i,k,j:longint;

    begin

    readln(p1,p2,p3);

    readln(a);

    if p1=1 then ck:=0 else ck:=-32;

    write(a[1]);

    for i:=2 to length(a)-1 do

    case a[i] of

    '-':

    if ((a in ['a'..'z'])and(a in ['a'..'z'])

    and(ord(a)

  • 0
    @ 2009-10-08 10:54:07

    注意题目!!!

  • 0
    @ 2009-10-07 18:05:24

    以惨痛的经历提醒后来者:注意细节!!!

  • 0
    @ 2009-10-06 23:17:59

    我的妈呀

    烦死我了....

  • 0
    @ 2009-10-06 19:52:48

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    这一题花了我好长时间。一开始用ansistring,发现ansistring的记数竟然是从0开始而不是1,郁闷了一次;;; 又改成string,结果字符串长度不够; 最终选择了数组,终于AC了。WA了整整2次!!!!!!!!

  • 0
    @ 2009-10-06 09:43:11

    #include

    #include

    int p1,p2,p3,i;

    char s[100001];

    void printx(char x,char y)

    {

    int k;char j;

    for(j=x;j

  • 0
    @ 2009-10-05 16:01:48

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    水水更健康

  • 0
    @ 2009-10-04 14:06:17

    靠靠靠。。。大水题我WA了7次...

  • 0
    @ 2009-09-27 22:54:24

    此题甚水

  • 0
    @ 2009-09-25 21:34:37

    ~~200次提交&两星纪念~~

  • 0
    @ 2009-09-23 13:30:07

    开头结尾注意必须要原样输出 判断'-'前后是否都是数字或字母

  • 0
    @ 2009-09-18 21:35:32

    细节题:

    1。最好先存要展开的串与位置,最后统一插,倒插可以避免位置移动。

    2。ansistring!!!!!!

  • 0
    @ 2009-09-09 00:50:46

    惨痛的教训

    1.开头和结尾一定会原样输出

    2.'-'两边都同是字母或同是数字

    3.不能输出除字母和数字以外的字符

    4.'*'的输出个数满足输出字母和数字个数的规则

    5.输出大写时,当前字符不是数字也得是字母(我光判断了是不是属于数字集合 然后直接else了+_+)

    6.当不满足填充规则时,一定记得输出原字符(+_+我竟然忘了)

    交了4次 分数60 70 70 100......

    这道水题通过率如此之低...是有原因的...

  • 0
    @ 2009-09-06 20:17:51

    我的AC史:

    1:60 粗心

    2~3 60 没用ansistring

    4:50 没事找事用了两个字符串

    5:AC;

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    要细心啊:1、注意数字没有大小写(用upcase函数就可以不管这问题···)

    2、仔细读题:p1还可以等于3,所有的位置用“*”,也要用p2的

    3、字符串的长度在不断变化,不能用for循环

    4、没了、

    好孩子别往下看

    var

    p1,i,j,p2,p3,h,l:integer;

    s,s1:ansistring;

    begin

    readln(p1,p2,p3);

    readln(s);

    repeat

    inc(i);

    if s[i]='-'

    then if ((s in['a'..'z'])and(s in['a'..'z']))or((s in['0'..'9'])and(s in ['0'..'9']))

    then if ord(s)>ord(s)

    then if ord(s)-ord(s)=1

    then delete(s,i,1)

    else if p3=1

    then if p1=1

    then begin

    s1:='';

    for j:=ord(s)+1 to ord(s)-1 do

    for h:=1 to p2 do

    s1:=s1+chr(j);

    delete(s,i,1);

    insert(s1,s,i);

    end

    else if p1=2

    then

    begin

    s1:='';

    for j:=ord(s)+1 to ord(s)-1 do

    for h:=1 to p2 do

    s1:=s1+upcase(chr(j));

    delete(s,i,1);

    insert(s1,s,i);

    end

    else begin

    if p1=3

    then begin

    s1:='';

    for j:=ord(s)-1 downto ord(s)+1 do

    for h:=1 to p2 do

    s1:=s1+'*';

    delete(s,i,1);

    insert(s1,s,i);

    end end

    else if p1=1

    then begin

    s1:='';

    for j:=ord(s)-1 downto ord(s)+1 do

    for h:=1 to p2 do

    s1:=s1+chr(j);

    delete(s,i,1);

    insert(s1,s,i);

    end

    else if p1=2

    then begin

    s1:='';

    for j:=ord(s)-1 downto ord(s)+1 do

    for h:=1 to p2 do

    s1:=s1+upcase(chr(j));

    delete(s,i,1);

    insert(s1,s,i);

    end

    else if p1=3

    then begin

    s1:='';

    for j:=ord(s)-1 downto ord(s)+1 do

    for h:=1 to p2 do

    s1:=s1+'*';

    delete(s,i,1);

    insert(s1,s,i);

    end;

    l:=length(s);

    until i>=l;

    write(s);

    end.

    ps:我这辈子写的最长的代码

  • 0
    @ 2009-09-02 18:54:57

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    终于呀……眼泪哗哗地

    先是没有认真读题 40

    接着没有考虑开头,结尾,连续的‘-’,70

    然后又是只根据p1分类,转大写的话 数字就没有了(第六点)90

    还有几次错误的修改,以及一次错交(我交到1378 矩阵取数里了=_=)

    之后ac 我可怜的ac率呀TT

    赞同楼下一牛的话:水题+特殊情况=简单题不能ac

信息

ID
1379
难度
6
分类
模拟 点击显示
标签
递交数
5989
已通过
1615
通过率
27%
被复制
10
上传者