Submission
Status:
-P-P-P----
Subtask/Task Score:
30/100
Score: 30
User: 68019
Problemset: โชว์ของโลมา
Language: cpp
Time: 0.885 second
Submitted On: 2026-03-08 13:37:06
#include <bits/stdc++.h>
using namespace std;
int main() {
int N;
cin >> N;
int curin = N;
int currentnum = 0;
int goal = N*N;
int sum = 0;
int dirin = 1; // = 1 -> Hori // = -1 -> Verticle Sum of digit last Hori + Inti verti + Final Verti
while (currentnum < goal)
{
// cout << "\nPace: " << curin << "\n";
// cout << "Direction: " << dirin << "\n";
// cout << "\n" << "Forward:" << "\n";
// FORWARD
for (int j = 0; j < curin;j++){
currentnum += 1;
// cout << currentnum << " ";
if (dirin == -1){
//Verti
if (j == curin - 1) {
sum += currentnum%10;
// cout << currentnum << " ";
}
}
}
// cout << "\n" << "Reverse:" << "\n";
if (currentnum >= goal) {
break;
}
// Reverse
for (int j = 0; j < curin;j++){
currentnum += 1;
// cout << currentnum << " ";
//Verti
if (dirin == -1){
if (j == 0) {
sum += currentnum%10;
// cout << currentnum << " ";
}
}
//Hori
else if (dirin == 1) {
//EVEN
if (N%2 == 0) {
if (curin == 2) {
if (currentnum >= goal - curin) {
sum += currentnum%10;
// cout << currentnum << " ";
}
}
}
// ODD
else if (N%2 ==1) {
if (curin == 1) {
if (currentnum >= goal - curin) {
sum += currentnum%10;
// cout << currentnum << " ";
}
}
}
}
}
if (dirin == 1) {
if (curin - 2 > 0 ) {
curin -= 2;
}
}
dirin *=-1;
}
// cout << "\n Sum : \n";
cout << sum;
}