BRAINOOO / CF-Removing-Columns

Imlementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#include <bits/stdc++.h> #include #define sz(v) ((int)(v).size()) #define eps 0.00000000000001 #define all(v) ((v).begin()),((v).end()) #define allr(v) ((v).rbegin()),((v).rend()) #define pb push_back #define mp make_pair #define inf 0x7fffffff #define PI 3.1415926536 #define clr(v,d) memset( v, d ,sizeof(v)) #define vi vector #define vd vector #define vvi vector< vector > #define vvpi vector< vector< pair<int,int> > > #define vvd vector< vector > #define vs vector #define vvs vector< vector > #define vc vector #define vpi vector< pair<int ,int> > #define pi pair<int ,int> #define pll pair<long long ,long long> #define vpd vector< pair<double ,double> > #define vpll vector< pair<long long ,long long> > #define vll vector #define dqi deque< int > #define si set #define spi set< pair<int ,int > > #define row vector< ll > #define matrix vector< row > #define lp(i,n) for(i=0;i<n;i++) #define si set #define oo 100000000000 #define MOD 1000000007 #define X real #define Y imag #define angle(n) atan2((n.imag()),(n.real())) #define vec(a,b) ((b)-(a)) #define length(a) hypot( (a.imag()),(a.real()) ) #define normalize(a) (a)/(length(a)) #define dp(a,b) (((conj(a))(b)).real()) #define cp(a,b) (((conj(a))(b)).imag()) #define lengthsqrt(a) dp(a,a) #define rotate0( a,ang) ((a)exp( point(0,ang) )) #define rotateA(about,p,ang) (rotate0(vec(about,p),ang)+about) #define lcm(a,b) ((ab)/(__gcd(a,b))) #define reflection0(m,v) (conj((v)/(m))*(m)) #define reflectionA(m,v,p0) (conj( (vec(p0,v))/(vec(p0,m)) ) * (vec(p0,m)) ) + p0 #define same(p1,p2) ( dp( vec(p1,p2),vec(p1,p2)) < eps ) #define point complex #define scani(n) scanf("%d",&n) #define scanll(n) scanf("%I64d",&n) #define printi(n) printf("%d",n) #define printll(n) printf("%I64d",n) #define scand(n) scanf("%lf",&n) #define printd(n) printf("%lf",n) #define scans(n) scanf("%s",&n) #define prints(n) printf("%s",n) typedef long long ll ; typedef unsigned long long ull; using namespace std; int dcmp(double a,double b){ return fabs(a-b)<=eps ? 0: (a>b)? 1:-1 ;}

vs v; int n;

void out(int j) {

for(int i=0;i<n;i++)
{

    v[i].erase(v[i].begin()+j);


}

}

int main() {

int m,j,i,r,cnt=0,fl,rw,cl,l=1;
string st;

cin>>n>>m;

for(i=0;i<n;i++)
{
    cin>>st;
    v.pb(st);
}




while(l)
{
    l=0;

    for(i=0;!l&&i<n-1;i++)
    {
        for(j=0;!l&&j<sz(v[i]);j++)
        {

            if(v[i][j]>v[i+1][j])
            {

                out(j);

                l=1;

            }
            else if(v[i][j]<v[i+1][j])
              break;


        }
    }

}

cout<< m-sz(v[0]); }

About

Imlementation