<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ### 題目描述 只要讀入的字符串滿足下列條件,系統就輸出“答案正確”,否則輸出“答案錯誤”。 得到“答案正確”的條件是: 1. 字符串中必須僅有P, A, T這三種字符,不可以包含其它字符; 2. 任意形如 xPATx 的字符串都可以獲得“答案正確”,其中 x 或者是空字符串,或者是僅由字母 A 組成的字符串; 3. 如果 aPbTc 是正確的,那么 aPbATca 也是正確的,其中 a, b, c 均或者是空字符串,或者是僅由字母 A 組成的字符串。 現在就請你為PAT寫一個自動裁判程序,判定哪些字符串是可以獲得“答案正確”的。 輸入格式: 每個測試輸入包含1個測試用例。第1行給出一個自然數n (<10),是需要檢測的字符串個數。接下來每個字符串占一行,字符串長度不超過100,且不包含空格。 輸出格式:每個字符串的檢測結果占一行,如果該字符串可以獲得“答案正確”,則輸出YES,否則輸出NO。 輸入樣例: 8 PAT PAAT AAPATAA AAPAATAAAA xPATx PT Whatever APAAATAA 輸出樣例: YES YES YES YES NO NO NO NO ### 分析(偽代碼和知識點) #### 1.合格字符串樣式 PAT、xPbTx、aPATc、aPAATca(a、b、c都是A組成的字符串) ### 代碼 ``` #include<stdio.h> #include<string.h> int reta(char *str) { int k=0,a=0; //定義兩個整型變量 for(k=0;str[k]!='\0';k++) //字符串中沒有P、A、T則返回-1 { if(str[k]!='P' && str[k]!='A' && str[k]!='T') return -1; } a=strspn(str,"A"); if(str[a]=='P') return a; else return -1; } int retb(char *str,int a) { int b=0; char *p; p=str+a+1; b=strspn(p,"A"); if(p[b]=='T') return b; else return -1; } int retc(char *str,int a,int b) { int c=0; char *p; p=str+a+b+2; c=strspn(p,"A"); if(p[c]=='\0') return c; else return -1; } int main(int argc, char *argv[]) { int n=0,i=0,j=0,a=0,b=0,c=0,r[10]={0}; char str[10][100]; //二維字符數組 scanf("%d",&n); //字符串輸入個數 for(i=0;i<n && i<10;i++) //循環依次輸入n個字符串 scanf("%s",str[i]); for(i=0;i<n && i<10;i++) { a=reta(str[i]); if(a!=-1) b=retb(str[i],a); else continue; if(b!=-1) c=retc(str[i],a,b); else continue; if(b>0 && c==b*a) r[i]=1; } for(i=0;i<n && i<10;i++) //循環依次輸出每行匹配結果 { if(r[i]==0) //r[i]不等于0通過,否則不通過 printf("NO\n"); else printf("YES\n"); } return 0; } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看