Submission #48136589


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

#define rep(i,n) for(ll i=0;i<n;++i)
#define rrep(i,n) for(ll i=n-1;i>=0;--i)
#define FOR(i,s,e) for(ll i=s;i<=e;++i)
#define FFOR(i,s,e) for(ll i=s;i>=e;--i)

#define yesno(flg) if(flg){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}
#define ALL(a) (a).begin(),(a).end()
#define mp make_pair
#define pb push_back
#define vl vector<ll>
#define vs vector<string>
#define so(a) sort(a.begin(),a.end())

#define fi first
#define se second
#define print(a) cout<<a<<endl
#define ssize(a) (ll)(a.size())

#define MAX_N 1002
#define i197 1000000007
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

typedef pair<int,int> Pi;
typedef pair<ll, ll> P2;
typedef pair<P2,ll> P3;
typedef pair<P2,P2> P4;

const ll INF=1000000000000000001;

ll t[1005][1005]={};
ll calc(ll b,ll d,ll i){
	if(b==0)return t[d][i];
	else return t[d][i]-t[b-1][i];
}


int main(){

	ios::sync_with_stdio(0);
	cin.tie(0);

	ll n,q;
	cin>>n>>q;

	rep(i,n){
		rep(j,n){
			char c;
			cin>>c;
			if(c=='B')t[j][i]++;
			if(j>0)t[j][i]+=t[j-1][i];
		}
	}


	rep(i,q){
		ll a1,b1,c1,d1;
		cin>>a1>>b1>>c1>>d1;

		ll a2,b2,c2,d2;
		a2=a1%n;
		b2=b1%n;
		c2=c1%n;
		d2=d1%n;

		ll ans=0;
		FOR(j2,a2,a2+n-1){
			ll j=j2%n;
			if(j2-a2+1>c1-a1+1)break;
			ll to=0;
			//if(i==1)print(j2);
			if(d1-b1+1<=n){
				if(d2>=b2)to=calc(b2,d2,j);
				else to=calc(b2,n-1,j)+t[d2][j];
			}else{
				to+=calc(b2,n-1,j)+t[d2][j];
				ll s=d1-b1-(n-b2)-(d2+1)+1;
				to+=s/n*t[n-1][j];
			}
			ans+=to*((c1-(j2-a2+a1)+n)/n);
		}
		print(ans);
	}



	return 0;
}






























Submission Info

Submission Time
Task D - Tile Pattern
User akarinkof
Language C++ 20 (gcc 12.2)
Score 450
Code Size 1853 Byte
Status AC
Exec Time 1993 ms
Memory 11896 KiB

Compile Error

Main.cpp: In function ‘int main()’:
Main.cpp:65:26: warning: variable ‘c2’ set but not used [-Wunused-but-set-variable]
   65 |                 ll a2,b2,c2,d2;
      |                          ^~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 2
AC × 16
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_corner_00.txt, 01_corner_01.txt, 01_corner_02.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 03_max_00.txt, 03_max_01.txt, 04_n_small_00.txt, 04_n_small_01.txt, 04_n_small_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3484 KiB
00_sample_01.txt AC 1 ms 3608 KiB
01_corner_00.txt AC 242 ms 4112 KiB
01_corner_01.txt AC 1 ms 3508 KiB
01_corner_02.txt AC 1 ms 3508 KiB
02_random_00.txt AC 743 ms 5972 KiB
02_random_01.txt AC 476 ms 6228 KiB
02_random_02.txt AC 250 ms 4104 KiB
02_random_03.txt AC 147 ms 4176 KiB
02_random_04.txt AC 471 ms 8404 KiB
02_random_05.txt AC 1071 ms 8040 KiB
03_max_00.txt AC 1993 ms 11896 KiB
03_max_01.txt AC 1993 ms 11860 KiB
04_n_small_00.txt AC 214 ms 3456 KiB
04_n_small_01.txt AC 217 ms 3460 KiB
04_n_small_02.txt AC 222 ms 3608 KiB