시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB104738629938.481%

문제

지금껏 문제를 풀면서 출력 형식 오류 메시지를 본 적이 있을 것이다.

출력 형식 오류는 답은 적절히 맞았으나 공백 설정이 잘못되었거나, 일부 답안에 대해 자칫 지나치기 쉬운 사소한 오타를 냈을 때 볼 수가 있다.

이번 기회에 출력 형식 오류를 직접 잡아내는 프로그램을 작성해보면서 출력 형식 오류에 대한 이해도를 높이고 실수를 줄여보도록 하자.

프로그램은 두 개의 문자열을 비교하여 두 문자열이 출력 형식을 감안하면 같은 문자열인지, 혹은 그냥 서로 다른 문자열인지를 판정해야 한다.

프로그램에 입력되는 문자열은 다음의 문자들로만 이루어져 있다.

  • 대문자 혹은 소문자 영문 알파벳
  • 숫자
  • 공백 (탭이 아닌 스페이스바)
  • 특수 부호

특수 부호의 목록은 아래와 같다.

( ) [ ] { } . , ; :

출력 형식만 다른 문자열인지는 아래의 규칙에 따라 판정한다.

  • 알파벳 대문자와 소문자는 구별하지 않는다.
  • 공백이 하나 이상이라면, 공백의 크기는 관계없다. 물론 어떤 문자열엔 공백이 있고 어떤 문자열엔 공백이 없는 것, 즉 공백 유무의 차이 자체는 문제가 된다.
  • 문자열의 맨 앞 혹은 맨 뒤에 나타나는 공백은 있으나 없으나 관계없다.
  • 특수 부호의 바로 앞이나 바로 뒤에 나오는 공백도 있으나 없으나 상관없다.
  • 여는 괄호끼리는 종류를 구별하지 않는다.
  • 닫는 괄호끼리는 종류를 구별하지 않는다.
  • 쉼표(",")와 세미콜론(";")은 구별하지 않는다.

입력

첫 줄에 테스트 케이스의 수 K가 주어진다.

이어 두 줄에 걸쳐 문자열 s1과 문자열 s2가 주어진다.

각 문자열의 길이는 1000 이하이다.

개행 문자는 문자열에 포함되지 않는다.

출력

각 테스트 케이스마다, Data Set K: 를 출력한 뒤

만일 두 문자열이 출력 형식을 감안했을 때 동일한 문자열이라면 equal을, 출력 형식을 잘 조작해도 서로 다른 문자열이라면 not equal을 출력한다.

각 테스트 케이스의 사이엔 빈 줄을 하나 출력한다.

예제 입력 1

3
( 1, 4 ) (2,3) (2,4)
{ 1; 4 )   {2;3)  {2;4)
Data Set 1: equal
data   set 1 :  EQUAL
Data Set 1: equal
DataSet 1: equal

예제 출력 1

Data Set 1: equal

Data Set 2: equal

Data Set 3: not equal
W3sicHJvYmxlbV9pZCI6IjUxNzciLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWNkOWNcdWI4MjUgXHVkNjE1XHVjMmRkXHVjNzc0IFx1Yzc5OFx1YmFiYlx1YjQxOFx1YzVjOFx1YzJiNVx1YjJjOFx1YjJlNCIsImRlc2NyaXB0aW9uIjoiPHA+XHVjOWMwXHVhZTA4XHVhZWNmIFx1YmIzOFx1YzgxY1x1Yjk3YyBcdWQ0ODBcdWJhNzRcdWMxMWMgXHVjZDljXHViODI1IFx1ZDYxNVx1YzJkZCBcdWM2MjRcdWI5NTggXHViYTU0XHVjMmRjXHVjOWMwXHViOTdjIFx1YmNmOCBcdWM4MDFcdWM3NzQgXHVjNzg4XHVjNzQ0IFx1YWM4M1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjZDljXHViODI1IFx1ZDYxNVx1YzJkZCBcdWM2MjRcdWI5NThcdWIyOTQgXHViMmY1XHVjNzQwIFx1YzgwMVx1YzgwOFx1ZDc4OCBcdWI5ZGVcdWM1NThcdWM3M2NcdWIwOTggXHVhY2Y1XHViYzMxIFx1YzEyNFx1YzgxNVx1Yzc3NCBcdWM3OThcdWJhYmJcdWI0MThcdWM1YzhcdWFjNzBcdWIwOTgsIFx1Yzc3Y1x1YmQ4MCBcdWIyZjVcdWM1NDhcdWM1ZDAgXHViMzAwXHVkNTc0IFx1Yzc5MFx1Y2U2YiBcdWM5YzBcdWIwOThcdWNlNThcdWFlMzAgXHVjMjZjXHVjNmI0IFx1YzBhY1x1YzE4Y1x1ZDU1YyBcdWM2MjRcdWQwYzBcdWI5N2MgXHViMGM4XHVjNzQ0IFx1YjU0YyBcdWJjZmMgXHVjMjE4XHVhYzAwIFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHViYzg4IFx1YWUzMFx1ZDY4Y1x1YzVkMCBcdWNkOWNcdWI4MjUgXHVkNjE1XHVjMmRkIFx1YzYyNFx1Yjk1OFx1Yjk3YyBcdWM5YzFcdWM4MTEgXHVjN2ExXHVjNTQ0XHViMGI0XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NzRcdWJjZjRcdWJhNzRcdWMxMWMgXHVjZDljXHViODI1IFx1ZDYxNVx1YzJkZCBcdWM2MjRcdWI5NThcdWM1ZDAgXHViMzAwXHVkNTVjIFx1Yzc3NFx1ZDU3NFx1YjNjNFx1Yjk3YyBcdWIxOTJcdWM3NzRcdWFjZTAgXHVjMmU0XHVjMjE4XHViOTdjIFx1YzkwNFx1YzVlY1x1YmNmNFx1YjNjNFx1Yjg1ZCBcdWQ1NThcdWM3OTAuPFwvcD5cclxuXHJcbjxwPlx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0MCBcdWI0NTAgXHVhYzFjXHVjNzU4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc0NCBcdWJlNDRcdWFkNTBcdWQ1NThcdWM1ZWMgXHViNDUwIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWNkOWNcdWI4MjUgXHVkNjE1XHVjMmRkXHVjNzQ0IFx1YWMxMFx1YzU0OFx1ZDU1OFx1YmE3NCBcdWFjMTlcdWM3NDAgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc4XHVjOWMwLCBcdWQ2MzlcdWM3NDAgXHVhZGY4XHViMGU1IFx1YzExY1x1Yjg1YyBcdWIyZTRcdWI5NzggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc4XHVjOWMwXHViOTdjIFx1ZDMxMFx1YzgxNVx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1YzVkMCBcdWM3ODVcdWI4MjVcdWI0MThcdWIyOTQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQwIFx1YjJlNFx1Yzc0Y1x1Yzc1OCBcdWJiMzhcdWM3OTBcdWI0ZTRcdWI4NWNcdWI5Y2MgXHVjNzc0XHViOGU4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5cdWIzMDBcdWJiMzhcdWM3OTAgXHVkNjM5XHVjNzQwIFx1YzE4Y1x1YmIzOFx1Yzc5MCBcdWM2MDFcdWJiMzggXHVjNTRjXHVkMzBjXHViY2IzPFwvbGk+XHJcblx0PGxpPlx1YzIyYlx1Yzc5MDxcL2xpPlxyXG5cdDxsaT5cdWFjZjVcdWJjMzEgKFx1ZDBlZFx1Yzc3NCBcdWM1NDRcdWIyY2MgXHVjMmE0XHVkMzk4XHVjNzc0XHVjMmE0XHViYzE0KTxcL2xpPlxyXG5cdDxsaT5cdWQyYjlcdWMyMTggXHViZDgwXHVkNjM4PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVkMmI5XHVjMjE4IFx1YmQ4MFx1ZDYzOFx1Yzc1OCBcdWJhYTlcdWI4NWRcdWM3NDAgXHVjNTQ0XHViNzk4XHVjNjQwIFx1YWMxOVx1YjJlNC48XC9wPlxyXG5cclxuPHByZT5cclxuKCApIFsgXSB7IH0gLiAsIDsgOlxyXG48XC9wcmU+XHJcblxyXG48cD5cdWNkOWNcdWI4MjUgXHVkNjE1XHVjMmRkXHViOWNjIFx1YjJlNFx1Yjk3OCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzhcdWM5YzBcdWIyOTQgXHVjNTQ0XHViNzk4XHVjNzU4IFx1YWRkY1x1Y2U1OVx1YzVkMCBcdWI1MzBcdWI3N2MgXHVkMzEwXHVjODE1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1YzU0Y1x1ZDMwY1x1YmNiMyBcdWIzMDBcdWJiMzhcdWM3OTBcdWM2NDAgXHVjMThjXHViYjM4XHVjNzkwXHViMjk0IFx1YWQ2Y1x1YmNjNFx1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YWNmNVx1YmMzMVx1Yzc3NCBcdWQ1NThcdWIwOTggXHVjNzc0XHVjMGMxXHVjNzc0XHViNzdjXHViYTc0LCBcdWFjZjVcdWJjMzFcdWM3NTggXHVkMDZjXHVhZTMwXHViMjk0IFx1YWQwMFx1YWNjNFx1YzVjNlx1YjJlNC4gXHViYjNjXHViODYwIFx1YzViNFx1YjVhNCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM1ZDQgXHVhY2Y1XHViYzMxXHVjNzc0IFx1Yzc4OFx1YWNlMCBcdWM1YjRcdWI1YTQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNWQ0IFx1YWNmNVx1YmMzMVx1Yzc3NCBcdWM1YzZcdWIyOTQgXHVhYzgzLCBcdWM5ODkgXHVhY2Y1XHViYzMxIFx1YzcyMFx1YmIzNFx1Yzc1OCBcdWNjMjhcdWM3NzQgXHVjNzkwXHVjY2I0XHViMjk0IFx1YmIzOFx1YzgxY1x1YWMwMCBcdWI0MWNcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc1OCBcdWI5ZTggXHVjNTVlIFx1ZDYzOVx1Yzc0MCBcdWI5ZTggXHViNGE0XHVjNWQwIFx1YjA5OFx1ZDBjMFx1YjA5OFx1YjI5NCBcdWFjZjVcdWJjMzFcdWM3NDAgXHVjNzg4XHVjNzNjXHViMDk4IFx1YzVjNlx1YzczY1x1YjA5OCBcdWFkMDBcdWFjYzRcdWM1YzZcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1ZDJiOVx1YzIxOCBcdWJkODBcdWQ2MzhcdWM3NTggXHViYzE0XHViODVjIFx1YzU1ZVx1Yzc3NFx1YjA5OCBcdWJjMTRcdWI4NWMgXHViNGE0XHVjNWQwIFx1YjA5OFx1YzYyNFx1YjI5NCBcdWFjZjVcdWJjMzFcdWIzYzQgXHVjNzg4XHVjNzNjXHViMDk4IFx1YzVjNlx1YzczY1x1YjA5OCBcdWMwYzFcdWFkMDBcdWM1YzZcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YzVlY1x1YjI5NCBcdWFkMDRcdWQ2MzhcdWIwN2NcdWI5YWNcdWIyOTQgXHVjODg1XHViOTU4XHViOTdjIFx1YWQ2Y1x1YmNjNFx1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YjJlYlx1YjI5NCBcdWFkMDRcdWQ2MzhcdWIwN2NcdWI5YWNcdWIyOTQgXHVjODg1XHViOTU4XHViOTdjIFx1YWQ2Y1x1YmNjNFx1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YzI3Y1x1ZDQ1YygmcXVvdDssJnF1b3Q7KVx1YzY0MCBcdWMxMzhcdWJiZjhcdWNmNWNcdWI4NjAoJnF1b3Q7OyZxdW90OylcdWM3NDAgXHVhZDZjXHViY2M0XHVkNTU4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiIFx1YzkwNFx1YzVkMCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1YzIxOCBLXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVjNWI0IFx1YjQ1MCBcdWM5MDRcdWM1ZDAgXHVhYzc4XHVjY2QwIFx1YmIzOFx1Yzc5MFx1YzVmNCBzMVx1YWNmYyBcdWJiMzhcdWM3OTBcdWM1ZjQgczJcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzU4IFx1YWUzOFx1Yzc3NFx1YjI5NCAxMDAwIFx1Yzc3NFx1ZDU1OFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzFjXHVkNTg5IFx1YmIzOFx1Yzc5MFx1YjI5NCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM1ZDAgXHVkM2VjXHVkNTY4XHViNDE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YjljOFx1YjJlNCwgRGF0YSBTZXQgSzogXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1YyBcdWI0YTQ8XC9wPlxyXG5cclxuPHA+XHViOWNjXHVjNzdjIFx1YjQ1MCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHVjZDljXHViODI1IFx1ZDYxNVx1YzJkZFx1Yzc0NCBcdWFjMTBcdWM1NDhcdWQ1ODhcdWM3NDQgXHViNTRjIFx1YjNkOVx1Yzc3Y1x1ZDU1YyBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzRcdWI3N2NcdWJhNzQgZXF1YWxcdWM3NDQsIFx1Y2Q5Y1x1YjgyNSBcdWQ2MTVcdWMyZGRcdWM3NDQgXHVjNzk4IFx1Yzg3MFx1Yzc5MVx1ZDU3NFx1YjNjNCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1Yjc3Y1x1YmE3NCBub3QgZXF1YWxcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWMwYWNcdWM3NzRcdWM1ZDQgXHViZTQ4IFx1YzkwNFx1Yzc0NCBcdWQ1NThcdWIwOTggXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjUxNzciLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJGb3JtYXQgRXJyb3IhIiwiZGVzY3JpcHRpb24iOiI8cD5UaG9zZSBvZiB5b3Ugd2hvIHBhcnRpY2lwYXRlZCBpbiBwYXN0IGNvbnRlc3RzIHByb2JhYmx5IHN0aWxsIHJlbWVtYmVyIHRoZW0gd2l0aCBwYWluLCBhbmQgdGhlIG5ldyBvbmVzIHdpbGwgc29vbiBmaW5kIG91dCB3aGF0IHdlJnJzcXVvO3JlIHRhbGtpbmcgYWJvdXQ6IEZvcm1hdCBFcnJvcnMuIFlvdSB3cml0ZSBhIHdvbmRlcmZ1bCBjb3JyZWN0IHNvbHV0aW9uIGFuZCBzdWJtaXQgaXQsIGFuZCBCYW5nISwgeW91IGdldCB0aGUgcmVzdWx0ICZsZHF1bztGb3JtYXQgRXJyb3IhJnJkcXVvOyBmcm9tIHRoZSBqdWRnZXMuIEp1c3QgYmVjYXVzZSB5b3UgaGFkIG9uZSBibGFuayB0b28gbXVjaCwgb3IgYWNjaWRlbnRhbGx5IHR5cGVkIHRoZSB3cm9uZyBraW5kIG9mIHBhcmVudGhlc2VzLjxcL3A+XHJcblxyXG48cD5PZiBjb3Vyc2UsIHdlIGFyZSBhd2FyZSB0aGF0IHRoaXMgaXMgcGFpbmZ1bCwgYnV0IHdlIGRvbiZyc3F1bzt0IHdhbnQgdG8ganVkZ2UgYWxsIHRoZXNlIHNvbHV0aW9ucyB3aXRoIGxvdHMgb2Ygb3V0cHV0IGJ5IGhhbmQgJm1kYXNoOyB5b3UmcnNxdW87ZCBuZXZlciBnZXQgdGhlIHJlc3VsdHMuIEhvd2V2ZXIsIGlmIHdlIGhhZCBhIHByb2dyYW0gdG8gZG8gdGhlIGpvYiwgdGhpbmdzIG1pZ2h0IGxvb2sgYSBsb3QgYmV0dGVyLiBHdWVzcyB3aGF0ISBZb3UgZ2V0IHRvIHdyaXRlIHVzIHN1Y2ggYSBwcm9ncmFtLjxcL3A+XHJcblxyXG48cD5UaGUgcHJvZ3JhbSB3aWxsIGNvbXBhcmUgdHdvIHN0cmluZ3MgYXQgYSB0aW1lLCBhbmQgZGVjaWRlIHdoZXRoZXIgdGhleSBhcmUgJmxkcXVvO2VxdWFsJnJkcXVvOyAoaW4gYSByZWxheGVkIHNlbnNlKSB0byBvbmUgYW5vdGhlci4gU3RyaW5ncyB3aWxsIGNvbnNpc3Qgb2YgdXBwZXJjYXNlIGFuZCBsb3dlcmNhc2UgbGV0dGVycywgZGlnaXRzLCB3aGl0ZXNwYWNlIChubyB0YWJzKSwgYW5kIHRoZSBmb2xsb3dpbmcgcHVuY3R1YXRpb24gbWFya3MgKG5vIG90aGVycyB3aWxsIGFwcGVhciBpbiBvdXIgdGVzdCBjYXNlcyk6PFwvcD5cclxuXHJcbjxwcmU+XHJcbiggKSBbIF0geyB9IC4gLCA7IDo8XC9wcmU+XHJcblxyXG48cD5UaGUgZm9sbG93aW5nIGFyZSB0aGUgcnVsZXMgYWNjb3JkaW5nIHRvIHdoaWNoIHN0cmluZ3Mgd2lsbCBiZSBjb25zaWRlcmVkIGVxdWFsOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlVwcGVyIGFuZCBsb3dlcmNhc2UgbGV0dGVycyBjYW4gYmUgaW50ZXJjaGFuZ2VkLjxcL2xpPlxyXG5cdDxsaT5UaGUgc2l6ZSBvZiBhIGJsb2NrIG9mIHdoaXRlc3BhY2UgaXMgdW5pbXBvcnRhbnQgKHRoaXMgb2YgY291cnNlIGFwcGxpZXMgb25seSB0byBibG9ja3MgY29uc2lzdGluZyBvZiBhdCBsZWFzdCBvbmUgd2hpdGVzcGFjZSkuIFdoaXRlc3BhY2UgaW1tZWRpYXRlbHkgZm9sbG93aW5nIG9yIHByZWNlZGluZyBwdW5jdHVhdGlvbiBtYXJrcyBpcyB1bmltcG9ydGFudC4gTGVhZGluZyBvciB0cmFpbGluZyB3aGl0ZXNwYWNlIChpLmUuIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIHN0cmluZ3MpIGlzIHVuaW1wb3J0YW50LjxcL2xpPlxyXG5cdDxsaT5UaGUgdmFyaW91cyBraW5kcyBvZiBvcGVuaW5nIGJyYWNrZXRzIGNhbiBiZSBpbnRlcmNoYW5nZWQuIFRoZSB2YXJpb3VzIGtpbmRzIG9mIGNsb3NpbmcgYnJhY2tldHMgY2FuIGJlIGludGVyY2hhbmdlZCAoaG93ZXZlciwgYW4gb3BlbmluZyBicmFja2V0IGNhbiBub3QgYmUgaW50ZXJjaGFuZ2VkIHdpdGggYSBjbG9zaW5nIGJyYWNrZXQpLiBCcmFja2V0cyBuZWVkIG5vdCBtYXRjaC48XC9saT5cclxuXHQ8bGk+Q29tbWEgKCZsZHF1bzssJnJkcXVvOykgYW5kIHNlbWljb2xvbiAoJmxkcXVvOzsmcmRxdW87KSBjYW4gYmUgaW50ZXJjaGFuZ2VkLjxcL2xpPlxyXG48XC91bD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgZmlyc3QgbGluZSBpcyB0aGUgbnVtYmVyIEsgb2YgZGF0YSBzZXRzIGluIHRoZSBmaWxlLiBUaGlzIGlzIGZvbGxvd2VkIGJ5IHRoZSBLIGRhdGEgc2V0cywgZWFjaCBjb25zaXN0aW5nIG9mIHR3byBzdHJpbmdzIHMxIGFuZCBzMiAob2YgbGVuZ3RoIGF0IG1vc3QgMTAwMCBjaGFyYWN0ZXJzIGVhY2gpIG9uIHNlcGFyYXRlIGxpbmVzLiBUaGUgbmV3bGluZSBjaGFyYWN0ZXIgaXMgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgc3RyaW5nLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIGRhdGEgc2V0LCBvdXRwdXQgaXRzIG51bWJlciwgYW5kIGVpdGhlciAmbGRxdW87ZXF1YWwmcmRxdW87IG9yICZsZHF1bztub3QgZXF1YWwmcmRxdW87LCBkZXBlbmRpbmcgb24gd2hldGhlciBzMSBhbmQgczIgcmVwcmVzZW50IHRoZSBzYW1lIHN0cmluZyBmb3IgdGhpcyBkYXRhIHNldC4gT3V0cHV0IGZvciBkaWZmZXJlbnQgZGF0YSBzZXRzIHNob3VsZCBiZSBzZXBhcmF0ZWQgYnkgYW4gZW1wdHkgbGluZS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d

출처

University > The USC Programming Contest > Fall 2007: Programming Contest Programming Contest C번