2011-11-12 06:42:47Morris

a275. 字串變變變

a275. 字串變變變

內容 :

每一組輸入都有兩行不含空白且 ASCII 碼介於 33~126 之間的字串,請告訴我,經過適當的順序調整後,兩個字串會變得一模一樣嗎?
例如,e83k 可以調整順序成 38ek 或 e3k8 等等共 15 種其他排列方式。

輸入說明 :

輸入如題目描述,當讀到「STOP!!」時結束。
字串長度最長為 1000000 個字元。

輸出說明 :

如果兩個字串可以變得一樣,輸出 yes,否則輸出 no。

範例輸入 :

e83k
38ek
asdfghjkl;'
';lkjhgfdsa
1234
4521
_01=1
_=110
SToP!!
stop!!
STOP!!

範例輸出 :

yes
yes
no
yes
no

提示 :

出處 :

(管理:VacationClub)



水題

/**********************************************************************************/
/*  Problem: a275 "字串變變變" from                                          */
/*  Language: C (410 Bytes)                                                       */
/*  Result: AC(8ms, 452KB) judge by this@ZeroJudge                                */
/*  Author: morris1028 at 2011-11-04 18:20:23                                     */
/**********************************************************************************/


#include<stdio.h>
#include<string.h>
char s[1000001], STOP[7] = "STOP!!";
int main() {
    int i, ASCII[128];
    while(gets(s)) {
        if(!strcmp(s, STOP))    break;
        memset(ASCII, 0, sizeof(ASCII));
        for(i = 0; s[i]; i++)
            ASCII[s[i]]++;
        gets(s);
        for(i = 0; s[i]; i++)
            ASCII[s[i]]--;
        for(i = 33; i <= 126; i++)
            if(ASCII[i])
                break;
        puts(i ==  127 ? "yes" : "no");
    }
    return 0;
}