C++ PIN
Здравейте, не разбирам защо Judge не ми приема кода за задачата PIN (минава само нулевите тестове). Като изпробвам програмата с Visual Studio, всичко изглежда наред.
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cin >> n;
string spaces = string(n, ' ');
int spacesN1 = 0;
int spacesN2 = n * 2;
int spacesN3 = n;
int spacesN4 = n;
cout << "/`" << string(2 * n, 'P') << spaces << "/`I" << spaces << "/`N" << string(n * 2 + 1, ' ') << "N" << endl;
for (int row = 1; row <= n - 1; row++)
{
cout << "| P" << string(n * 2 - 2, ' ') << "P" << spaces << "| I" << spaces << "| N" << string(spacesN1, ' ') << "N" << string(spacesN2, ' ') << "N" << endl;
spacesN1++;
spacesN2--;
}
cout << "| " << string(2 * n, 'P') << spaces << "| I" << spaces << "| N" << string(n - 1, ' ') << "N" << string(n + 1, ' ') << "N" << endl;
for (int row = 1; row <= n + 1; row++)
{
if (row == n + 1)
{
cout << "\\_" << string((n + 1) / 3, 'P')
<< string((2 * n - ((n + 1) / 3)) + n, ' ') << "\\_I" << spaces << "\\_N" << string(spacesN3, ' ') << "N" << string(spacesN4, ' ') << "N" << endl;
spacesN3++;
spacesN4--;
}
else
{
cout << "| " << string((n + 1) / 3, 'P') << string((2 * n - ((n + 1) / 3)) + n, ' ') << "| I" << spaces << "| N" << string(spacesN3, ' ') << "N" << string(spacesN4, ' ') << "N" << endl;
spacesN3++;
spacesN4--;
}
}
return 0;
}
Хмм, ако има проблем в броя на P-тата, не би ли трябвало Judge да ми го покаже? Моят изход е различен от този, който трябва да е. Освен това все някакви точки трябваше да ми даде, тъй като примерите (с n = 2 и n = 5) работят. Благодаря за примерното решение, ще го разгледам по-късно :)
Примерите с n = 2 и n = 5 са zero tests. Честно казано, и на мен не ми харесва много, че използвайки формула, различна от тази, която judge очаква, но задоволяваща напълно условието на задачата, се оценява с 0 точки...
Ясно, много благодаря за помощта! :)