Submission
Status:
PPPPxxxxxx
Subtask/Task Score:
40/100
Score: 40
User: cyblox_boi
Problemset: โชว์ของโลมา
Language: cpp
Time: 0.031 second
Submitted On: 2026-03-14 19:45:22
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<vector<int>> dolphins(n, vector<int>(n, -1));
int current = 1;
pair<int, int> currentPosition = {0, 0};
int maxNumber = n * n;
int push = 0;
while (current <= maxNumber)
{
for (int i = push; i < n && current <= maxNumber; i++, current++, currentPosition.second++)
{
dolphins[currentPosition.first][currentPosition.second] = current;
}
currentPosition.second--;
currentPosition.first++;
push++;
for (int i = 0; i < n && current <= maxNumber && dolphins[currentPosition.first][currentPosition.second] == -1; i++, current++, currentPosition.second--)
{
dolphins[currentPosition.first][currentPosition.second] = current;
}
currentPosition.second++;
currentPosition.first++;
push++;
for (int i = push; i < n && current <= maxNumber && dolphins[currentPosition.first][currentPosition.second] == -1; i++, current++, currentPosition.first++)
{
dolphins[currentPosition.first][currentPosition.second] = current;
}
currentPosition.second++;
currentPosition.first--;
for (int i = push; i < n && current <= maxNumber && dolphins[currentPosition.first][currentPosition.second] == -1; i++, current++, currentPosition.first--)
{
dolphins[currentPosition.first][currentPosition.second] = current;
}
currentPosition.second++;
currentPosition.first++;
}
int total = 0;
for (int i = 0; i < n; i++)
{
total += to_string(dolphins[n - 1][i]).back() - '0';
}
cout << total << '\n';
return 0;
}