#7570: TLE 求解..


imp94207 (解題像一塊蛋糕)

學校 : 國立勤益科技大學
編號 : 26158
來源 : [140.128.88.64]
最後登入時間 :
2015-02-09 04:44:06
a224. 明明愛明明 | From: [140.128.88.49] | 發表日期 : 2013-03-14 19:23

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char in[1001];
    while(gets(in) != EOF)
    {
        int leng = 0,x = 0;
        while(in[leng] != '\0')
        {
            if(in[leng] >= 'A' && in[leng] <= 'Z')
            {
                in[leng] += 32;
                in[x]=in[leng];
                x++;
            }
            else if(in[leng] >= 'a' && in[leng] <= 'z')
            {
                in[x]=in[leng];
                x++;
            }
            leng++;
        }
        if(x == 0)
        {
            printf("yes !\n");
            continue;
        }
        int b,c, ans = 0;
        for(b = 0; b < x; b++)
        {
            int num = 1;
            if(in[b] == 1)
            {
                if((b == (x-1)))
                {
                    printf("yes !\n");
                }
                continue;
            }
            
        for(c = b+1; c <= x; c++)
        {
        if(in[b] == in[c])
                {
                    num++;
                    in[c] = 1;
                }
        }
        if((num & 0x01) == 1)
            {
                ans++;
                if(ans == 2)
                {
                    printf("no...\n");
                    break;
                }
            }     
            if((b == (x-1)))
                {
                   printf("yes !\n");
                }       
        }
    }
    return 0;
}
/*
假設我輸入:
Aab11ccc 
進入程式會將 大寫變小寫,非英文去除 並存入陣列:
(如果一個英文字都沒有,直接判斷為yes並continue) 
aabccc
之後一個一個比較 已經交換過 而且重複的 就將其改成'1' 避免下次重複判斷(遇到'1'直接continue)
判斷方式:aa(數量是偶數) b(奇數) ccc(奇數)====>當有>=2的奇數時, 為no 其餘為yes

 
 
*/
 
#7571: Re:TLE 求解..


imp94207 (解題像一塊蛋糕)

學校 : 國立勤益科技大學
編號 : 26158
來源 : [140.128.88.64]
最後登入時間 :
2015-02-09 04:44:06
a224. 明明愛明明 | From: [140.128.88.49] | 發表日期 : 2013-03-14 19:24

順帶一提 此題已用其他方法完成,但此篇的方法找不到錯誤原因 希望能找到方法 謝!!


 
#7576: Re:TLE 求解..


passerr (20130326 0340 48)

學校 : 不指定學校
編號 : 8516
來源 : [125.224.93.117]
最後登入時間 :
2024-09-05 12:09:52
a224. 明明愛明明 | From: [36.235.238.116] | 發表日期 : 2013-03-15 09:37

這行

while(gets(in) != EOF)

EOF = -1

而 gets 沒有輸入是回傳 0

但是

 WA (line:7)
答案不正確

您的答案為: no...
正確答案為: yes !

 
#7578: Re:TLE 求解..


akira0331 (小迷糊)

學校 : 不指定學校
編號 : 26613
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
a224. 明明愛明明 | From: [203.70.194.240] | 發表日期 : 2013-03-15 10:50

這行

while(gets(in) != EOF)

EOF = -1

而 gets 沒有輸入是回傳 0

但是

 WA (line:7)
答案不正確

您的答案為: no...
正確答案為: yes !



while(gets(in) != EOF) 應該改成  while(gets(in) != NULL) 或 while(gets(in) != 0) 
ZeroJudge Forum