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

문제

선영이는 이번 학기에 오스트레일리아로 교환 학생을 가게 되었다. 

호주에 도착하고 처음 며칠은 한국 생각을 잊으면서 즐겁게 지냈다. 몇 주가 지나니 한국이 그리워지기 시작했다. 

선영이는 한국에 두고온 서버에 접속해서 디렉토리 안에 들어있는 파일 이름을 보면서 그리움을 잊기로 했다. 매일 밤, 파일 이름을 보면서 파일 하나하나에 얽힌 사연을 기억하면서 한국을 생각하고 있었다.

어느 날이었다. 한국에 있는 서버가 망가졌고, 그 결과 특정 패턴과 일치하는 파일 이름을 적절히 출력하지 못하는 버그가 생겼다.

패턴은 알파벳 소문자 여러 개와 별표(*) 하나로 이루어진 문자열이다.

파일 이름이 패턴에 일치하려면, 패턴에 있는 별표를 알파벳 소문자로 이루어진 임의의 문자열로 변환해 파일 이름과 같게 만들 수 있어야 한다. 별표는 빈 문자열로 바꿀 수도 있다. 예를 들어, "abcd", "ad", "anestonestod"는 모두 패턴 "a*d"와 일치한다. 하지만, "bcd"는 일치하지 않는다.

패턴과 파일 이름이 모두 주어졌을 때, 각각의 파일 이름이 패턴과 일치하는지 아닌지를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 파일의 개수 N이 주어진다. (1 ≤ N ≤ 100)

둘째 줄에는 패턴이 주어진다. 패턴은 알파벳 소문자와 별표(아스키값 42) 한 개로 이루어져 있다. 문자열의 길이는 100을 넘지 않으며, 별표는 문자열의 시작과 끝에 있지 않다.

다음 N개 줄에는 파일 이름이 주어진다. 파일 이름은 알파벳 소문자로만 이루어져 있고, 길이는 100을 넘지 않는다.

출력

총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다.

참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다.

예제 입력 1

3
a*d
abcd
anestonestod
facebook

예제 출력 1

DA
DA
NE

예제 입력 2

6
h*n
huhovdjestvarnomozedocisvastan
honijezakon
atila
je
bio
hun

예제 출력 2

DA
DA
NE
NE
NE
DA
W3sicHJvYmxlbV9pZCI6Ijk5OTYiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWQ1NWNcdWFkNmRcdWM3NzQgXHVhZGY4XHViOWFjXHVjNmI4IFx1YjU1MCBcdWMxMWNcdWJjODRcdWM1ZDAgXHVjODExXHVjMThkXHVkNTU4XHVjOWMwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWMxMjBcdWM2MDFcdWM3NzRcdWIyOTQgXHVjNzc0XHViYzg4IFx1ZDU1OVx1YWUzMFx1YzVkMCBcdWM2MjRcdWMyYTRcdWQyYjhcdWI4MDhcdWM3N2NcdWI5YWNcdWM1NDRcdWI4NWMgXHVhZDUwXHVkNjU4IFx1ZDU1OVx1YzBkZFx1Yzc0NCBcdWFjMDBcdWFjOGMgXHViNDE4XHVjNWM4XHViMmU0LiZuYnNwOzxcL3A+XHJcblxyXG48cD5cdWQ2MzhcdWM4ZmNcdWM1ZDAgXHViM2M0XHVjYzI5XHVkNTU4XHVhY2UwIFx1Y2M5OFx1Yzc0YyBcdWJhNzBcdWNlNjBcdWM3NDAgXHVkNTVjXHVhZDZkIFx1YzBkZFx1YWMwMVx1Yzc0NCBcdWM3OGFcdWM3M2NcdWJhNzRcdWMxMWMgXHVjOTkwXHVhYzgxXHVhYzhjIFx1YzljMFx1YjBjOFx1YjJlNC4gXHViYTg3IFx1YzhmY1x1YWMwMCBcdWM5YzBcdWIwOThcdWIyYzggXHVkNTVjXHVhZDZkXHVjNzc0IFx1YWRmOFx1YjlhY1x1YzZjY1x1YzljMFx1YWUzMCBcdWMyZGNcdWM3OTFcdWQ1ODhcdWIyZTQuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlx1YzEyMFx1YzYwMVx1Yzc3NFx1YjI5NCBcdWQ1NWNcdWFkNmRcdWM1ZDAgXHViNDUwXHVhY2UwXHVjNjI4IFx1YzExY1x1YmM4NFx1YzVkMCBcdWM4MTFcdWMxOGRcdWQ1NzRcdWMxMWMgXHViNTE0XHViODA5XHVkMWEwXHViOWFjIFx1YzU0OFx1YzVkMCBcdWI0ZTRcdWM1YjRcdWM3ODhcdWIyOTQgXHVkMzBjXHVjNzdjIFx1Yzc3NFx1Yjk4NFx1Yzc0NCBcdWJjZjRcdWJhNzRcdWMxMWMgXHVhZGY4XHViOWFjXHVjNmMwXHVjNzQ0IFx1Yzc4YVx1YWUzMFx1Yjg1YyBcdWQ1ODhcdWIyZTQuIFx1YjllNFx1Yzc3YyBcdWJjMjQsIFx1ZDMwY1x1Yzc3YyBcdWM3NzRcdWI5ODRcdWM3NDQgXHViY2Y0XHViYTc0XHVjMTFjIFx1ZDMwY1x1Yzc3YyBcdWQ1NThcdWIwOThcdWQ1NThcdWIwOThcdWM1ZDAgXHVjNWJkXHVkNzhjIFx1YzBhY1x1YzVmMFx1Yzc0NCBcdWFlMzBcdWM1YjVcdWQ1NThcdWJhNzRcdWMxMWMgXHVkNTVjXHVhZDZkXHVjNzQ0IFx1YzBkZFx1YWMwMVx1ZDU1OFx1YWNlMCBcdWM3ODhcdWM1YzhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzViNFx1YjI5MCBcdWIwYTBcdWM3NzRcdWM1YzhcdWIyZTQuIFx1ZDU1Y1x1YWQ2ZFx1YzVkMCBcdWM3ODhcdWIyOTQgXHVjMTFjXHViYzg0XHVhYzAwIFx1YjlkZFx1YWMwMFx1Yzg0Y1x1YWNlMCwgXHVhZGY4IFx1YWNiMFx1YWNmYyBcdWQyYjlcdWM4MTUgXHVkMzI4XHVkMTM0XHVhY2ZjIFx1Yzc3Y1x1Y2U1OFx1ZDU1OFx1YjI5NCBcdWQzMGNcdWM3N2MgXHVjNzc0XHViOTg0XHVjNzQ0IFx1YzgwMVx1YzgwOFx1ZDc4OCBcdWNkOWNcdWI4MjVcdWQ1NThcdWM5YzAgXHViYWJiXHVkNTU4XHViMjk0IFx1YmM4NFx1YWRmOFx1YWMwMCBcdWMwZGRcdWFjYmNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1ZDMyOFx1ZDEzNFx1Yzc0MCBcdWM1NGNcdWQzMGNcdWJjYjMgXHVjMThjXHViYjM4XHVjNzkwIFx1YzVlY1x1YjdlYyBcdWFjMWNcdWM2NDAgXHViY2M0XHVkNDVjKCopIFx1ZDU1OFx1YjA5OFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWQzMGNcdWM3N2MgXHVjNzc0XHViOTg0XHVjNzc0IFx1ZDMyOFx1ZDEzNFx1YzVkMCBcdWM3N2NcdWNlNThcdWQ1NThcdWI4MjRcdWJhNzQsIFx1ZDMyOFx1ZDEzNFx1YzVkMCBcdWM3ODhcdWIyOTQgXHViY2M0XHVkNDVjXHViOTdjIFx1YzU0Y1x1ZDMwY1x1YmNiMyBcdWMxOGNcdWJiMzhcdWM3OTBcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1Yzc4NFx1Yzc1OFx1Yzc1OCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWI4NWMgXHViY2MwXHVkNjU4XHVkNTc0IFx1ZDMwY1x1Yzc3YyBcdWM3NzRcdWI5ODRcdWFjZmMgXHVhYzE5XHVhYzhjIFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNzg4XHVjNWI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHViY2M0XHVkNDVjXHViMjk0IFx1YmU0OCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWI4NWMgXHViYzE0XHVhZmMwIFx1YzIxOFx1YjNjNCBcdWM3ODhcdWIyZTQuIFx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsICZxdW90O2FiY2QmcXVvdDssICZxdW90O2FkJnF1b3Q7LCAmcXVvdDthbmVzdG9uZXN0b2QmcXVvdDtcdWIyOTQgXHViYWE4XHViNDUwIFx1ZDMyOFx1ZDEzNCAmcXVvdDthKmQmcXVvdDtcdWM2NDAgXHVjNzdjXHVjZTU4XHVkNTVjXHViMmU0LiBcdWQ1NThcdWM5YzBcdWI5Y2MsICZxdW90O2JjZCZxdW90O1x1YjI5NCBcdWM3N2NcdWNlNThcdWQ1NThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWQzMjhcdWQxMzRcdWFjZmMgXHVkMzBjXHVjNzdjIFx1Yzc3NFx1Yjk4NFx1Yzc3NCBcdWJhYThcdWI0NTAgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHVhYzAxXHVhYzAxXHVjNzU4IFx1ZDMwY1x1Yzc3YyBcdWM3NzRcdWI5ODRcdWM3NzQgXHVkMzI4XHVkMTM0XHVhY2ZjIFx1Yzc3Y1x1Y2U1OFx1ZDU1OFx1YjI5NFx1YzljMCBcdWM1NDRcdWIyY2NcdWM5YzBcdWI5N2MgXHVhZDZjXHVkNTU4XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1ZDMwY1x1Yzc3Y1x1Yzc1OCBcdWFjMWNcdWMyMTggTlx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICgxICZsZTsgTiAmbGU7IDEwMCk8XC9wPlxyXG5cclxuPHA+XHViNDU4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWQzMjhcdWQxMzRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWQzMjhcdWQxMzRcdWM3NDAgXHVjNTRjXHVkMzBjXHViY2IzIFx1YzE4Y1x1YmIzOFx1Yzc5MFx1YzY0MCBcdWJjYzRcdWQ0NWMoXHVjNTQ0XHVjMmE0XHVkMGE0XHVhYzEyIDQyKSBcdWQ1NWMgXHVhYzFjXHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzgzOCBcdWM3ODhcdWIyZTQuIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc1OCBcdWFlMzhcdWM3NzRcdWIyOTQgMTAwXHVjNzQ0IFx1YjExOFx1YzljMCBcdWM1NGFcdWM3M2NcdWJhNzAsIFx1YmNjNFx1ZDQ1Y1x1YjI5NCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NTggXHVjMmRjXHVjNzkxXHVhY2ZjIFx1YjA1ZFx1YzVkMCBcdWM3ODhcdWM5YzAgXHVjNTRhXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgTlx1YWMxYyBcdWM5MDRcdWM1ZDBcdWIyOTQgXHVkMzBjXHVjNzdjIFx1Yzc3NFx1Yjk4NFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1ZDMwY1x1Yzc3YyBcdWM3NzRcdWI5ODRcdWM3NDAgXHVjNTRjXHVkMzBjXHViY2IzIFx1YzE4Y1x1YmIzOFx1Yzc5MFx1Yjg1Y1x1YjljYyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHVhY2UwLCBcdWFlMzhcdWM3NzRcdWIyOTQgMTAwXHVjNzQ0IFx1YjExOFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjZDFkIE5cdWFjMWNcdWM3NTggXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMFx1YzExYywgXHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YzhmY1x1YzViNFx1YzljNCBpXHViYzg4XHVjOWY4IFx1ZDMwY1x1Yzc3YyBcdWM3NzRcdWI5ODRcdWM3NzQgXHVkMzI4XHVkMTM0XHVhY2ZjIFx1Yzc3Y1x1Y2U1OFx1ZDU1OFx1YmE3NCAmcXVvdDtEQSZxdW90OywgXHVjNzdjXHVjZTU4XHVkNTU4XHVjOWMwIFx1YzU0YVx1YzczY1x1YmE3NCAmcXVvdDtORSZxdW90O1x1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Y2MzOFx1YWNlMFx1Yjg1YywgJnF1b3Q7REEmcXVvdDtcdWIyOTQgXHVkMDZjXHViODVjXHVjNTQ0XHVkMmYwXHVjNWI0XHVjNWI0XHViODVjICZxdW90O1lFUyZxdW90O1x1Yjk3YywgJnF1b3Q7TkUmcXVvdDtcdWIyOTQgJnF1b3Q7Tk8mcXVvdDtcdWI5N2MgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6Ijk5OTYiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJWSkVLTyIsImRlc2NyaXB0aW9uIjoiPHA+SW4gaGlzIHNwYXJlIHRpbWUsIFZqZWtvIGxpa2VzIHRvIGJyb3dzZSB0aHJvdWdoIGZpbGVzIGluIGRpcmVjdG9yaWVzLiBVbmZvcnR1bmF0ZWx5LCBpdCBzZWVtcyB0byBoaW0gdGhhdCB0aGUgY29uc29sZSBvbiBoaXMgY29tcHV0ZXIgYnJva2UgZG93biBhbmQgbm93IGl0IGRvZXNuJiMzOTt0IGNvcnJlY3RseSBwcmludCBmaWxlIG5hbWVzIHRoYXQgbWF0Y2ggYSBjZXJ0YWluIHBhdHRlcm4uJm5ic3A7PFwvcD5cclxuXHJcbjxwPkEgcGF0dGVybiBpcyBzdHJpbmcgY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgbGV0dGVycyBvZiB0aGUgRW5nbGlzaCBhbHBoYWJldCBhbmQgZXhhY3RseSBvbmUgYXN0ZXJpc2suJm5ic3A7PFwvcD5cclxuXHJcbjxwPkEgZmlsZSBuYW1lIG1hdGNoZXMgYSBwYXR0ZXJuIGlmIHRoZSBwYXR0ZXJuIHN0cmluZyBjYW4gYmUgbWFkZSBlcXVhbCB0byB0aGUgZmlsZSBuYW1lIGJ5IHJlcGxhY2luZyB0aGUgYXN0ZXJpc2sgd2l0aCBhbiBhcmJpdHJhcnkgc3RyaW5nIG9mIGxvd2VyY2FzZSBsZXR0ZXJzIG9mIHRoZSBFbmdsaXNoIGFscGhhYmV0IChhbiBlbXB0eSBzdHJpbmcgc3Vic3RpdHV0aW9uIGlzIGFsc28gcG9zc2libGUpLiBGb3IgZXhhbXBsZSwgc3RyaW5ncyAmbGRxdW87YWJjZCZyZHF1bzssICZsZHF1bzthZCZyZHF1bzsgYW5kICZsZHF1bzthbmVzdG9uZXN0b2QmcmRxdW87IGFsbCBtYXRjaCB0aGUgcGF0dGVybiAmbGRxdW87YSpkJnJkcXVvOyBhbmQgdGhlIHN0cmluZyAmbGRxdW87YmNkJnJkcXVvOyBkb2VzIG5vdC4mbmJzcDs8XC9wPlxyXG5cclxuPHA+V3JpdGUgYSBwcm9ncmFtbWUgdGhhdCB3aWxsLCBnaXZlbiBhIHBhdHRlcm4gYW5kIGZpbGUgbmFtZXMsIG91dHB1dCB3aGV0aGVyIGEgZmlsZSBuYW1lIG1hdGNoZXMgdGhlIHBhdHRlcm4gb3Igbm90LiZuYnNwOzxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgY29udGFpbnMgdGhlIGludGVnZXIgTiAoMSAmbGU7IE4gJmxlOyAxMDApLCB0aGUgbnVtYmVyIG9mIGZpbGVzLiZuYnNwOzxcL3A+XHJcblxyXG48cD5UaGUgc2Vjb25kIGxpbmUgb2YgaW5wdXQgY29udGFpbnMgYSBzdHJpbmcgb2YgY2hhcmFjdGVycyBjb25zaXN0aW5nIG9mIG9ubHkgbG93ZXJjYXNlIGxldHRlciBvZiB0aGUgRW5nbGlzaCBhbHBoYWJldCBhbmQgZXhhY3RseSBvbmUgYXN0ZXJpc2sgKEFTQ0lJIHZhbHVlIDQyKS4gVGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIHdpbGwgbm90IGV4Y2VlZCAxMDAgYW5kIHRoZSBhc3RlcmlzayB3aWxsIG5vdCBiZSBsb2NhdGVkIGF0IHRoZSBiZWdpbm5pbmcgbm9yIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmluZy4mbmJzcDs8XC9wPlxyXG5cclxuPHA+RWFjaCBvZiB0aGUgZm9sbG93aW5nIE4gbGluZXMgY29udGFpbnMgZmlsZSBuYW1lcywgZWFjaCBpbiBpdHMgb3duIGxpbmUuIFRoZSBmaWxlIG5hbWVzIGNvbnNpc3Qgb2Ygb25seSBsb3dlcmNhc2UgbGV0dGVycyBvZiB0aGUgRW5nbGlzaCBhbHBoYWJldCBhbmQgdGhlaXIgbGVuZ3RoIHdpbGwgbm90IGV4Y2VlZCAxMDAuJm5ic3A7PFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T3V0cHV0IE4gbGluZXMuIFRoZSBpPHN1cD50aDxcL3N1cD4gbGluZSBzaG91bGQgYmUgJmxkcXVvO0RBJnJkcXVvOyAoQ3JvYXRpYW4gZm9yIHllcykgaWYgdGhlIGk8c3VwPnRoPFwvc3VwPiBmaWxlIG5hbWUgbWF0Y2hlcyB0aGUgcGF0dGVybiBvciAmbGRxdW87TkUmcmRxdW87IChDcm9hdGlhbiBmb3Igbm8pIGlmIHRoZSBpPHN1cD50aDxcL3N1cD4gZmlsZSBuYW1lIGRvZXMgbm90IG1hdGNoIHRoZSBwYXR0ZXJuLiZuYnNwOzxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=

출처

Contest > Croatian Open Competition in Informatics > COCI 2013/2014 > Contest #6 1번