Submission

Status:

P-P-P---T-

Subtask/Task Score:

30/100

Score: 30

User: 68019

Problemset: โชว์ของโลมา

Language: cpp

Time: 1.095 second

Submitted On: 2026-03-08 13:42:07

#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 << " ";
            //Verti
            if (dirin == -1){
                
                if (j == curin - 1) {
                    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 << " ";
                    }
                    }
                }
            }
            

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