소감 ¶
2005/02/19 Accepted 0:00.006 64
단순한 문자열 비교문제라는 생각이 들었다. Presentation Error와 Accepted 를 어떻게 하면 쉽게 구별할 수 있을지를 고민하다 입력받을때부터 숫자를 따로 입력받는 배열을 만들어 주는 방법을 이용하였다.
단순한 문자열 비교문제라는 생각이 들었다. Presentation Error와 Accepted 를 어떻게 하면 쉽게 구별할 수 있을지를 고민하다 입력받을때부터 숫자를 따로 입력받는 배열을 만들어 주는 방법을 이용하였다.
코드 ¶
~cpp
// no10188 - Automated Judge Script
#include <iostream>
#include <cstring>
using namespace std;
const int MAX = 100;
bool setString(char * s, char * sDigit);
int main()
{
char answer[MAX*MAX]; // 정답
char answerDigit[MAX];
char reply[MAX*MAX]; // 사용자 출력
char replyDigit[MAX];
int count = 1;
while (true)
{
if (!setString(answer, answerDigit) || !setString(reply, replyDigit))
break;
cout << "Run #" << count++;
if (strcmp(answerDigit, replyDigit) != 0)
cout << ": Wrong Answer\n";
else if (strcmp(answer, reply) == 0)
cout << ": Accepted\n";
else
cout << ": Presentation Error\n";
}
return 0;
}
bool setString(char * s, char * sDigit)
{
int n;
cin >> n;
if (n == 0)
return false;
cin.get();
int nDigit, nChar, nReturn;
nDigit = nChar = nReturn = 0;
char c;
while (true)
{
c = cin.get();
if (c == '\n')
nReturn++;
if (nReturn == n)
break;
if (c >= '0' && c <= '9')
sDigit[nDigit++] = c;
s[nChar++] = c;
}
sDigit[nDigit] = '\0';
s[nChar] = '\0';
return true;
}










