Submission #493359

#TimeUsernameProblemLanguageResultExecution timeMemory
493359irmuunChessboard (IZhO18_chessboard)C++17
70 / 100
298 ms3400 KiB
#include<bits/stdc++.h> using namespace std; #define pb push_back #define ll long long #define ff first #define ss second #define PI 3.14159265359 ll n,m,t,p,h,a,b,c,d,e,f,i,j,k,r,l,mod=1000000007,mod1=998244353,MAX=1e18,ans; ll X1[100001],X2[100001],Y1[100001],Y2[100001]; string s,u; ll df[101]; vector<pair<ll,ll> >v; vector<ll>dv[101]; void dfs(ll x){ df[x]=1; for(ll i=0;i<dv[x].size();i++){ if(df[dv[x][i]]==0){ dfs(dv[x][i]); } } } ll fastPow(ll a,ll b){ ll d=1; while(b>0){ if(b%2==1){ d=d*a%mod; } b/=2; a=a*a%mod; } return d; } ll check(){ ll c=n/i; ll b,w; if(c%2==0){ b=n*n/2; w=b; } else{ b=(n-i)*(n+i)/2; w=b+(i*i); } ll num[2]={0}; for(ll j=1;j<=k;j++){ num[(((X1[j]-1)/i)+((Y1[j]-1)/i))%2]++; } return min((w-num[0])+num[1],(b-num[1])+num[0]); } int main(){ cin>>n>>k; for(i=1;i<=k;i++){ cin>>X1[i]>>Y1[i]>>X2[i]>>Y2[i]; } ans=n*n; for(i=1;i<n;i++){ if(n%i==0){ ans=min(ans,check()); } } cout<<ans; }

Compilation message (stderr)

chessboard.cpp: In function 'void dfs(long long int)':
chessboard.cpp:16:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for(ll i=0;i<dv[x].size();i++){
      |                ~^~~~~~~~~~~~~
#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...