PAT乙級 1003. 我要通過!

題目:

答案正確”是自動判題系統給出的最令人歡喜的回復。本題屬于PAT的“答案正確”大派送 —— 只要讀入的字符串滿足下列條件,系統就輸出“答案正確”,否則輸出“答案錯誤”。

得到“答案正確”的條件是:

1. 字符串中必須僅有P, A, T這三種字符,不可以包含其它字符; 2. 任意形如 xPATx 的字符串都可以獲得“答案正確”,其中 x 或者是空字符串,或者是僅由字母 A 組成的字符串; 3. 如果 aPbTc 是正確的,那么 aPbATca 也是正確的,其中 a, b, c 均或者是空字符串,或者是僅由字母 A 組成的字符串。

現在就請你為PAT寫一個自動裁判程序,判定哪些字符串是可以獲得“答案正確”的。


思路:

???? 首先第三個條件上來有個“如果”,這個明顯是告訴有前提的,排除第一個條件后我們可以基本確定是通過第二個條件來推定,好了我們根據正則表達式的特點,知道基本是#PAT#的模型,所以就有PAT三個字母,因為題目要求每個測試輸入包含1個測試用例,所以我們假設就是PAT作為正確的表達式,有第三個條件”aPbTc?“正確,所以a和c都是null,b是A,同時”aPbATca”也是正確的,所以我們肯定”PAAT”也是正確的,我們把其再看成”aPbTc”型,就有”PAAAT”也是正確的;再來我們假定”APATA”正確,所以根據”aPbTc?“,可以推的”APAATAA”正確,繼續還有”APAAATAAA”等正確;可以看出?P前A的個數乘?P?T中間的A的個數?等于T后A的個數。

  對于第1個規則:0*0=0。對于第2個規則:x*1=x。對于第3個規則:aPbTc如果正確,那么b一定是A、a=c,bA就是AA,a*2=aa=ca。

代碼:

    

#include<stdio.h>
#include<string.h>
int main()
{char str[105]; int n,i;scanf("%d",&n);for(i=0;i<n;i++){int a=0,b=0,c=0; //分別表示aPbTc中abc的長度 int flag=0;  //判斷是否有其他字符 int j,flag1=0,flag2=0; //表示是否經過P,T scanf("%s",str);for(j=0;j<strlen(str);j++){if(str[j]=='A'||str[j]=='P'||str[j]=='T') {if(str[j]=='P') flag1=1;else if(str[j]=='T') flag2=1;else{if(flag1!=1) a++;if(flag1==1&&flag2!=1) b++;if(flag2==1) c++;}}else{flag=1;break;}}if(a*b==c&&flag==0&&b!=0) printf("YES\n");else printf("NO\n");}return 0;
}

?

?

?

??

?

轉載于:https://www.cnblogs.com/s1lentmoon/p/6714634.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393156.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393156.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393156.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電臺復活節_如何通過在控制臺中隱藏復活節彩蛋使您的應用程序用戶驚訝

電臺復活節by Ethan Ryan由伊桑瑞安(Ethan Ryan) 如何通過在控制臺中隱藏復活節彩蛋使您的應用程序用戶驚訝 (How to surprise your app’s users by hiding Easter eggs in the console) I love console.logging(“stuff”).我喜歡console.logging(“ stuff”)。 I do it th…

leetcode1267. 統計參與通信的服務器(dfs)

這里有一幅服務器分布圖&#xff0c;服務器的位置標識在 m * n 的整數矩陣網格 grid 中&#xff0c;1 表示單元格上有服務器&#xff0c;0 表示沒有。 如果兩臺服務器位于同一行或者同一列&#xff0c;我們就認為它們之間可以進行通信。 請你統計并返回能夠與至少一臺其他服務…

System類入門學習

第三階段 JAVA常見對象的學習 System類 System類包含一些有用的字段和方法&#xff0c;他不能被實例化 //用于垃圾回收 public static void gc()//終止正在運行的java虛擬機。參數用作狀態碼&#xff0c;根據慣例&#xff0c;非0表示異常終止 public static void exit(int stat…

gulpfile php,Laravel利用gulp如何構建前端資源詳解

什么是gulp&#xff1f;gulp是新一代的前端項目構建工具&#xff0c;你可以使用gulp及其插件對你的項目代碼(less,sass)進行編譯&#xff0c;還可以壓縮你的js和css代碼&#xff0c;甚至壓縮你的圖片&#xff0c;gulp僅有少量的API&#xff0c;所以非常容易學習。 gulp 使用 st…

ios jenkins_如何使用Jenkins和Fastlane制作iOS點播構建系統

ios jenkinsby Agam Mahajan通過Agam Mahajan 如何使用Jenkins和Fastlane制作iOS點播構建系統 (How to make an iOS on-demand build system with Jenkins and Fastlane) This article is about creating iOS builds through Jenkins BOT, remotely, without the need of a de…

菜鳥也學hadoop(1)_搭建單節點的hadoop

其實跟官方的教程一樣 只是 我想寫下來 避免自己搞忘記了&#xff0c;&#xff0c;&#xff0c;&#xff0c;好記性不如爛筆頭 首先確認自己是否安裝了 java&#xff0c; ssh 以及 rsync 沒有裝的直接就 apt-get install 了嘛&#xff0c;&#xff0c;&#xff0c;java的不一定…

SP703 SERVICE - Mobile Service[DP]

題意翻譯 Description   一個公司有三個移動服務員。如果某個地方有一個請求&#xff0c;某個員工必須趕到那個地方去&#xff08;那個地方沒有其他員工&#xff09;&#xff0c;某一時刻只有一個員工能移動。只有被請求后&#xff0c;他才能移動&#xff0c;不允許在同樣的位…

CF758 D. Ability To Convert 細節處理字符串

link 題意&#xff1a;給定進制數n及一串數字,問在此進制下這串數能看成最小的數&#xff08;10進制&#xff09;是多少&#xff08;如HEX下 1|13|11 475&#xff09; 思路&#xff1a;此題要仔細思考細節。首先要想使數最小那么必定有個想法是使低位的數盡可能大即位數盡可能…

java 可能尚未初始化變量,java - 局部變量“變量”可能尚未初始化-Java - 堆棧內存溢出...

我得到這個錯誤。線程“主”中的異常java.lang.Error&#xff1a;未解決的編譯問題&#xff1a;rgb2無法解析為變量它總是導致錯誤的rgb2數組。 如何解決這個問題呢&#xff1f;BufferedImage img1 ImageIO.read(file1);BufferedImage img2 ImageIO.read(file2);int w img1.…

leetcode1249. 移除無效的括號(棧)

給你一個由 ‘(’、’)’ 和小寫字母組成的字符串 s。 你需要從字符串中刪除最少數目的 ‘(’ 或者 ‘)’ &#xff08;可以刪除任意位置的括號)&#xff0c;使得剩下的「括號字符串」有效。 請返回任意一個合法字符串。 有效「括號字符串」應當符合以下 任意一條 要求&…

軟件工程——個人課程總結

軟件工程&#xff0c;我就是沖著軟件這兩個字來的&#xff0c;開始我覺得我們大多數人也是這樣的&#xff0c;能開發一款屬于自己的軟件應該是我們人生中的第一個小目標八&#xff0c;在上學期學完java語言后&#xff0c;我們自認為自己已經具備了開發一款小軟件的能力&#xf…

規則網絡_實用的網絡可訪問性規則

規則網絡by Tiago Romero Garcia蒂亞戈羅梅羅加西亞(Tiago Romero Garcia) 實用的網絡可訪問性規則 (Pragmatic rules of web accessibility that will stick to your mind) I first started to work with web accessibility back in 2015, at an American retail giant. It h…

8-python自動化-day08-進程、線程、協程篇

本節內容 主機管理之paramiko模塊學習 進程、與線程區別python GIL全局解釋器鎖線程語法join線程鎖之Lock\Rlock\信號量將線程變為守護進程Event事件 queue隊列生產者消費者模型Queue隊列開發一個線程池進程語法進程間通訊進程池 轉載&#xff1a;  http://www.cnblogs.co…

部署HDFS HA的環境

> 環境架構部署規劃&#xff1a; bigdata1 NameNode ResourceManager Zookeeper JournalNode failOverController bigdata2 NameNode ResourceManager Zookeeper JournalNode failOverController bigdata3 DataNode NodeManager Zookeeper bigdata4 DataNode NodeManager &g…

php layui 框架,Thinkphp5+Layui高顏值內容管理框架

Thinkphp5Layui高顏值內容管理框架TP5Layui高顏值內容管理框架&#xff0c;新增API模塊Thinkphp5Layui響應式后臺權限管理系統專注打造好用的框架&#xff0c;極速開發&#xff0c;高效靈活&#xff0c;從架構上兼顧系統復雜度的迭代與需求多變。代碼結構清晰&#xff0c;接口開…

leetcode657. 機器人能否返回原點

在二維平面上&#xff0c;有一個機器人從原點 (0, 0) 開始。給出它的移動順序&#xff0c;判斷這個機器人在完成移動后是否在 (0, 0) 處結束。 移動順序由字符串表示。字符 move[i] 表示其第 i 次移動。機器人的有效動作有 R&#xff08;右&#xff09;&#xff0c;L&#xff…

在Angular專家Dan Wahlin的免費33部分課程中學習Angular

According to the Stack Overflow developer survey 2018, Angular is one of the most popular frameworks/libraries among professional developers. So learning it increases your chances of getting a job as a web developer significantly.根據2018年Stack Overflow開…

select查詢語句執行順序

查詢中用到的關鍵詞主要包含六個&#xff0c;并且他們的順序依次為 select--from--where--group by--having--order by 其中select和from是必須的&#xff0c;其他關鍵詞是可選的&#xff0c;這六個關鍵詞的執行順序 與sql語句的書寫順序并不是一樣的&#xff0c;而是按照下面的…

Python的Virtualenv(虛擬環境)的使用(Windows篇)2

Python的Virtualenv(虛擬環境)的使用&#xff08;Windows篇&#xff09; 2018年04月13日 11:35:01 D_FallMoon 閱讀數 771 版權聲明&#xff1a;版權所有 裝載請注明 …

Loadrunner常用15種的分析點

1.Vusers&#xff1a;提供了生產負載的虛擬用戶運行狀態的相關信息&#xff0c;可以幫助我們了解負載生成的結果。 2.Rendezvous&#xff08;負載過程中集合點下的虛擬用戶&#xff09;&#xff1a;當設置集合點后會生成相關數據&#xff0c;反映了隨著時間的推移各個時間點上并…