白駿14713インコ


3番水銀に行きましょう
https://www.acmicpc.net/problem/14713

この問題は図に示す通りです.

もし文があれば、オウムの文集から一つ一つ抜き出して、最後に入力した文を構成してもいいですか?
また、考慮すべき点は、サンプル入力で理解できます.

  • オウムの構語の順序を守るかどうか

  • 正しい言葉で組織するかどうか
  • だからこの点を考えると
    単語の並び順を守るために、入選キューを使用する場合はI LOVE YOUと入力します.
    IとLOVEとYOUだから順番を守れます
    正しい単語構造が最終的にキューから抽出され、キューに残っている値がフィルタされるのは簡単な問題です.
    ソースコードは次のとおりです.
    import java.util.*;
    import java.io.*;
    public class 앵무새 {
    
    	public static void main(String[] args) throws Exception {
    		// TODO Auto-generated method stub
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		int type = Integer.parseInt(br.readLine());
    		Queue[] qlist = new Queue[type];
    		for(int i=0;i<type;i++) {
    			qlist[i] = new LinkedList<String>();
    			StringTokenizer st = new StringTokenizer(br.readLine());
    			
    			while(st.hasMoreTokens()) {
    				qlist[i].add(st.nextToken());
    			}
    		}
    		
    		StringTokenizer st = new StringTokenizer(br.readLine());
    		
    		boolean flag = false;
    		while(st.hasMoreTokens()) {
    			boolean cflag = true;
    			String word = st.nextToken();
    			for(int i=0;i<type;i++) {
    				if(!qlist[i].isEmpty()) {
    				if(qlist[i].peek().equals(word)) {
    					qlist[i].poll();
    					cflag = false;
    					break;
    				}
    				}
    			}
    			
    			
    			
    			// 매치하는값이 없을떄
    			if(cflag) {
    				flag = true;
    				break;
    			}	
    		}
    		
    		for(int i=0;i<type;i++) {
    			if(!qlist[i].isEmpty()) {
    				flag = true;
    			}
    		}
    		
    		if(flag) {
    			System.out.println("Impossible");
    		}
    		else {
    			System.out.println("Possible");
    		}
    	}
    
    }

    早くゴール1を突破しましょう.