ZOJ問題(2010浙江大學研究生複試上機題目[找規律] hdoj 3788)

ZOJ問題

點擊打開鏈接

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3341    Accepted Submission(s): 1002


Problem Description
對給定的字符串(只包含'z','o','j'三種字符),判斷他是否能AC。

是否AC的規則如下:
1. zoj能AC;
2. 若字符串形式爲xzojx,則也能AC,其中x可以是N個'o' 或者爲空;
3. 若azbjc 能AC,則azbojac也能AC,其中a,b,c爲N個'o'或者爲空;
 

Input
輸入包含多組測試用例,每行有一個只包含'z','o','j'三種字符的字符串,字符串長度小於等於1000;
 

Output
對於給定的字符串,如果能AC則請輸出字符串“Accepted”,否則請輸出“Wrong Answer”。
 

Sample Input
zoj ozojo ozoojoo oozoojoooo zooj ozojo oooozojo zojoooo
 

Sample Output
Accepted Accepted Accepted Accepted Accepted Accepted Wrong Answer Wrong Answer
 

Source
 
思路:
    z前面'o'的個數×z和j中間o的個數=j後面o的個數
    oozoojoooo:
    若azbjc 能AC,則azbojac也能AC,其中a,b,c爲N個'o'或者爲空;
    這裏的話a=oo b=o c=oo
    把a,b,c帶進去翻譯過來是
                      若oozojoo能AC(當然能AC 根據第1條) 則oozoojoooo也能AC,所以能AC
      zooj : 
      也是根據第3條 這裏a=空 c=空 b=o
      翻譯過來是
       若zoj能AC 則zooj能AC
       若azbjc 能AC,則azbojac也能AC,其中a,b,c爲N個'o'或者爲空;
   這裏azbojac和azbjc相比 z和j中間+了一個o   j後面就+了一個a 而z前面也有一個a
   以此類推
   如果再執行一次這個規定
    那麼z和j中間就+了2個o   後面也+了2個前面的a 
   ...
   所以z前面'o'的個數乘以z和j中間o的個數=j後面o的個數。

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
#define M 1010
char s[M];
int main()
{
    while(~scanf("%s",s))
    {
         int len=strlen(s)-1;
         int  i=0,a=0;
          while(s[i++]=='o')
              a++;    
          int c=0;
          while(s[len--]=='o')
              c++;
              
           int p1=0,p2=0,b=0;
          for(int j=i-1;j<=len+1;j++)
          {
               if(s[j]=='z')
                p1++;
               if(s[j]=='o')
                 b++;
                if(s[j]=='j')
                  p2++;   
          }
          
        if(s[i-1]=='z'&&s[len+1]=='j')
        {
          if(b>0&&b*a==c&&(p1==1)&&(p2==1))
           printf("Accepted\n");
          else
           printf("Wrong Answer\n");
        }
        else
           printf("Wrong Answer\n");
    }
    return 0;
}













發佈了221 篇原創文章 · 獲贊 17 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章