close
Content

安迪很喜歡木製的軌道,每一天他爸爸組合一個新的軌道給他,這個軌道必須沒有死路,也就是說這個軌道是個環,可以讓車子永無止境的跑下去。

 所以這裡有一個問題,給你一些軌道片段,你是否可以用全部給你的軌道片段拼成一個環形軌道。

每一個軌道有兩端,一個標準的軌道片段的兩端為"male"跟 "female",但是也有一些的兩端都是 "male"或 "female",如圖

 

每兩塊連結方式一定要一端是male另一端是 female,不能兩個相同male或是 female連接。這不是真實的木製軌道,所以每一個軌道片段不考慮其長度,形狀。

 

Input

第一行代表幾組測試資料,每一行都代表一組的測試資料,這一行包含1~50個軌道片段,一片的兩端以M跟F來表示,M=  male, F=female ,每兩個軌道以空白隔開。

Output

對於每個測試資料,印出是否可以拼成一個環,若可以請輸出 "LOOP"不行則輸出 "NO LOOP"。

Sample Input #1
4
MF MF
FM FF MF MM
MM FF
MF MF MF MF FF
Sample Output #1
LOOP
LOOP
LOOP
NO LOOP

C++

#include <iostream>
#include <sstream>
using namespace std;
 
int main() {
    int t;
	string s;
	char head,tail;
	cin>>t;
	getline(cin,s);//在使用cin跟getline中間需要清除cin後的緩衝區
	while (t--)
	{
		bool loop=true;
		int len=0; 
		getline(cin,s);//讀入整行測資(含空白跟換行符號)
		if (s[0]==s[s.size()-1]) //假設一行裡有五塊,檢查第一塊的頭跟第五塊的尾巴是否一一樣
			{loop=false;}
		else{
			stringstream ss(s);
			ss>>s; //倒入第一塊給s
			len=1; //所以長度0->1
			tail=s[s.size()-1];
			while (ss>>s) //倒入第二三四塊塊給s 
			{
				head=s[0]; //第二三四塊的頭都給head
				len++;
				//
				if (head==tail)
				{
					loop=false;
					break;
				}
				tail=s[s.size()-1];
			}
			//if(len>1&&loop==true){cout<<"LOOP\n";} ->寫在這裡的話,第19行的if用不到
			//else{cout << "NO LOOP\n";}
		}
		if(len>1&&loop==true){cout<<"LOOP\n";}
		else{cout << "NO LOOP\n";}
	}
	
	
    return 0;
}

python:

t=int(input())
for _ in range(t):
    loop=True
    track_len=0
    arr=input()
    arr0=list(arr[::1])
    arr1=list(arr.split())
    #print(arr0)
    #print(arr1)
    #print("arr0[0]",arr0[0])
    #print("arr0[-1]",arr0[-1])
    if arr0[0]==arr0[-1]:loop=False
    if len(arr1)==1:loop=False
    else:
        track_len=1
        tail=arr0[-1]
        #print('tail',tail)
        for i in arr1:
            track_len+=1
            head=i[0]
            #print('head',head)
            if head==tail:loop=False;break
            tail=i[-1]
    if track_len>1 and loop==True:print("LOOP")
    else:print("NO LOOP")
arrow
arrow
    文章標籤
    高中生程式解題 C++
    全站熱搜
    創作者介紹
    創作者 趴趴熊日常 的頭像
    趴趴熊日常

    資工趴趴熊的小天地

    趴趴熊日常 發表在 痞客邦 留言(0) 人氣()