제출 #776820

#제출 시각아이디문제언어결과실행 시간메모리
776820vjudge1Sajam (COCI18_sajam)C++17
30 / 90
11 ms5272 KiB
#include <bits/stdc++.h> using namespace std; typedef long long lo; #define fi first #define se second #define endl "\n" #define pb push_back #define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define FOR for(int i=1;i<=n;i++) #define mid ((start+end)/2) #define ort ((bas+son)/2) const lo inf = 1000000000; const lo li = 1005; const lo mod = 1000000007; int n,m,a[li][li],k,flag,t,acik[li]; int cev; string s[li]; vector<int> v; int main(void){ fio(); cin>>n>>k; FOR cin>>s[i]; if(k>=(n+1)/2){cout<<"DA\n";return 0;} FOR{ for(int j=0;j<n;j++){ if(s[i][j]=='o')a[i][j]=1; } } for(int i=2;i<=n;i++){ int say=0; for(int j=0;j<n;j++){ if((a[1][j]^a[i][j]))say++; } cev+=min(say,n-say); //~ cout<<i<<" ()() "<<cev<<endl; } if(cev>k){cout<<"NE\n";return 0;} cout<<"DA\n"; return 0; cev=k+1; FOR{ v.clear(); for(int j=0;j<n;j++){ if(s[i][j]=='o')v.pb(acik[j]); else v.pb(n-acik[j]); } sort(v.begin(),v.end()); if(n%2){ int cur=0; for(auto go:v)cur+=abs(go-v[n/2]); //~ cout<<cur<<" AAA "<<cev<<endl; cev=min(cev,cur); } else{ int cur=0; for(auto go:v)cur+=abs(go-v[n/2]); //~ cout<<cur<<" BBB "<<cev<<endl; cev=min(cev,cur); cur=0; for(auto go:v)cur+=abs(go-v[n/2-1]); //~ cout<<cur<<" CCC "<<cev<<endl; cev=min(cev,cur); } } if(cev>k)cout<<"NE\n"; else cout<<"DA\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...