1453C - Triangles - CodeForces Solution


greedy implementation *1700

Please click on ads to support us..

C++ Code:

/**
LittleMoon
*/
#include <bits/stdc++.h>
using namespace std;
#define int long long 
#define fr(i, l, r) for(int i = int(l); i<int(r); ++i)
#define sz(a) int((a.size()))
//#define mod 998244353
#define MOD 1000000007
#define INF 1000000000000000000
#define ya cout<<"YES"<<endl;
#define na cout<<"NO"<<endl;
#define dbug cout<<"check here "<<endl;
#define N 200005
#define mod 1000000007
//#define mod 998244353
int binpow(int a, int b) {
    if (b == 0)
        return 1;
    int res = binpow(a, b / 2);
    if (b % 2)
        return (((res * res)%mod) * a)%mod;
    else
        return (res*res)%mod;
}
void solve()
{
    int n;
    cin>>n;
    char a[n+1][n+1] = {0};
    int maxr[10] = {0};
    int minr[10] = {0};
    int maxc[10] = {0};
    int minc[10] = {0};
    for(int i=0; i<10; ++i)
    {
        minr[i] = INF;
        minc[i] = INF;
    }
    int ans[10] = {0};
    for(int i=1; i<=n; ++i)
    {
        for(int j=1; j<=n; ++j)
        {
            cin>>a[i][j];
            int z = a[i][j] - '0';
            maxr[z] = max(maxr[z], i);
            minr[z] = min(minr[z], i);
            maxc[z] = max(maxc[z], j);
            minc[z] = min(minc[z], j);
        }
    }
    for(int i=1; i<=n; ++i)
    {
        for(int j=1; j<=n; ++j)
        {
            int z = a[i][j] - '0';
            ans[z] = max(ans[z], max(maxr[z]-i, i-minr[z])*(max(n-j, j-1)));
            ans[z] = max(ans[z], max(maxc[z]-j, j-minc[z])*(max(n-i, i-1)));
        }
    }
    for(int i=0; i<=9; ++i)
    {
        cout<<ans[i]<<" ";
    }
    cout<<endl;
}
int32_t main()
{
    ios_base::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
    int tc=1; cin>>tc;
    for(int i=1; i<=tc; ++i)
    {
        solve();
    }
}


Comments

Submit
0 Comments
More Questions

379B - New Year Present
1498A - GCD Sum
1277C - As Simple as One and Two
1301A - Three Strings
460A - Vasya and Socks
1624C - Division by Two and Permutation
1288A - Deadline
1617A - Forbidden Subsequence
914A - Perfect Squares
873D - Merge Sort
1251A - Broken Keyboard
463B - Caisa and Pylons
584A - Olesya and Rodion
799A - Carrot Cakes
1569B - Chess Tournament
1047B - Cover Points
1381B - Unmerge
1256A - Payment Without Change
908B - New Year and Buggy Bot
979A - Pizza Pizza Pizza
731A - Night at the Museum
742A - Arpa’s hard exam and Mehrdad’s naive cheat
1492A - Three swimmers
1360E - Polygon
1517D - Explorer Space
1230B - Ania and Minimizing
1201A - Important Exam
676A - Nicholas and Permutation
431A - Black Square
474B - Worms