Софтуерно Инженерство
Loading...
DBeneva avatar DBeneva 0 Точки

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;
}

Тагове:
0
C++ Programming
DBeneva avatar DBeneva 0 Точки

Хмм, ако има проблем в броя на P-тата, не би ли трябвало Judge да ми го покаже? Моят изход е различен от този, който трябва да е. Освен това все някакви точки трябваше да ми даде, тъй като примерите (с n = 2 и n = 5) работят. Благодаря за примерното решение, ще го разгледам по-късно :) 

0
Quake3 avatar Quake3 547 Точки

Примерите с n = 2 и n = 5 са zero tests. Честно казано, и на мен не ми харесва много, че използвайки формула, различна от тази, която judge очаква, но задоволяваща напълно условието на задачата, се оценява с 0 точки...

0
DBeneva avatar DBeneva 0 Точки

Ясно, много благодаря за помощта! :)

0