close

C++

#include <iostream>
#include <map>
#include <utility>

#define apply(a,b) pair<int,int>(a,b)
using namespace std;
int main(){
	
	int n;
	int a,b;
	map<pair<int,int>,int> mp;
	
	while(cin>>n){
		int ans=0;
		mp.clear();
		
		for(int i=0;i<n;i++){
			cin>>a>>b;
			if(mp[apply(b,a)]){  //我寫 if(mp[apply(b,a)]==true會錯ㄟ)
				mp[apply(b,a)]--;
				ans++;		
			}
			else{mp[apply(a,b)]++;}
		}
		cout<<ans<<"\n";
	}
	return 0;
}

python:

while True:
    try:
        n=int(input())
        dic={}
        ans=0
        for i in range(n):
            a,b=map(str,input().split())
            arr=a+' '+b
            arr_reverse=b+" "+a
            """
            輸入測資1 2
            檢查字典裡是否有2 1:
            若有:
                檢查字典"2 1"是否=1
                    若是:刪除"2 1"
                    若否:"2 1"-=1
            若沒有:
                檢查是否有1 2:
                    若有:'1 2'+=1
                    否則:'1 2'=1
            """
            if arr_reverse in dic:
                if dic[arr_reverse]==1:del dic[arr_reverse]
                else: dic[arr_reverse]-=1
                ans+=1
            else:
                if arr in dic:dic[arr]+=1
                else:dic[arr]=1

            #print(dic)
        print(ans)
    except:break

 

arrow
arrow
    文章標籤
    高中生程式解題 python C++
    全站熱搜
    創作者介紹
    創作者 趴趴熊日常 的頭像
    趴趴熊日常

    資工趴趴熊的小天地

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