제출 #493359

#제출 시각아이디문제언어결과실행 시간메모리
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;
}

컴파일 시 표준 에러 (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...