Submission #1892447


Source Code Expand

#pragma region include
#include <iostream>
#include <iomanip>
#include <stdio.h>

#include <sstream>
#include <algorithm>
#include <iterator>
#include <cmath>
#include <complex>

#include <string>
#include <cstring>
#include <vector>
#include <tuple>
#include <bitset>

#include <queue>
#include <set>
#include <map>
#include <stack>
#include <list>

#include <fstream>
#include <random>
//#include <time.h>
#include <ctime>
#pragma endregion //#include
/////////
#define REP(i, x, n) for(int i = x; i < n; ++i)
#define rep(i,n) REP(i,0,n)
#define ALL(X) X.begin(), X.end()
/////////
#pragma region typedef
typedef long long LL;
typedef long double LD;
typedef unsigned long long ULL;
typedef std::pair<LL,LL> PLL;//
typedef std::pair<int,int> PII;//
#pragma endregion //typedef
////定数
const int INF = (int)1e9;
const LL MOD = (LL)1e9+7;
const LL LINF = (LL)4e18+20;
const LD PI = acos(-1.0);
const double EPS = 1e-9;
/////////
using namespace::std;

void solve(){
	int R,C,M,N;
	cin>>R>>C>>M>>N;
	vector< vector<int> > fld(R,vector<int>(C,3));
	/*
	  1
	2   0	「左90度回転」とは+1
	  3
	*/
	vector< vector<int> > move(N,vector<int>(4));
	for(int i=0;i<N;++i){
		int Ra,Rb,Ca,Cb;
		for(int j=0;j<4;++j){
			cin>>move[i][j];
			move[i][j]--;
		}
		Ra = move[i][0];
		Rb = move[i][1];
		Ca = move[i][2];
		Cb = move[i][3];
		
		for(int r=Ra;r<=Rb;++r){
			for(int c=Ca;c<=Cb;++c){
				fld[r][c]++;
			}
		}
	}//50*50*5000=1.25*10^7

	int minami = 0;
	for(int r=0;r<R;++r){
		for(int c=0;c<C;++c){
			fld[r][c] = fld[r][c] % 4;
			if( fld[r][c] == 3 ){
				minami++;
			}
		}
	}
	/////////////
	//東と南を数える
	for(int i=0;i<N;++i){
		int Ra,Rb,Ca,Cb;
		Ra = move[i][0];
		Rb = move[i][1];
		Ca = move[i][2];
		Cb = move[i][3];
		int MINA=0;
		int HIGA=0;
		for(int r=Ra;r<=Rb;++r){
			for(int c=Ca;c<=Cb;++c){
				if( fld[r][c] == 3 ){
					MINA++;
				}else if(fld[r][c]==0){
					HIGA++;
				}
			}
		}
		if( minami-MINA+HIGA == M ){
			cout << i+1 << endl;
		}
	}
}

#pragma region main
signed main(void){
	std::cin.tie(0);
	std::ios::sync_with_stdio(false);
	std::cout << std::fixed;//小数を10進数表示
	cout << setprecision(16);//小数点以下の桁数を指定//coutとcerrで別	

	solve();
}
#pragma endregion //main()

Submission Info

Submission Time
Task E - 儀式
User akarin55
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2373 Byte
Status AC
Exec Time 10 ms
Memory 512 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 32
Set Name Test Cases
Sample subtask0-sample-01.txt, subtask0-sample-02.txt
All subtask0-sample-01.txt, subtask0-sample-02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt, subtask1-27.txt, subtask1-28.txt, subtask1-29.txt, subtask1-30.txt
Case Name Status Exec Time Memory
subtask0-sample-01.txt AC 1 ms 256 KB
subtask0-sample-02.txt AC 1 ms 256 KB
subtask1-01.txt AC 1 ms 256 KB
subtask1-02.txt AC 1 ms 256 KB
subtask1-03.txt AC 1 ms 256 KB
subtask1-04.txt AC 1 ms 256 KB
subtask1-05.txt AC 2 ms 384 KB
subtask1-06.txt AC 3 ms 384 KB
subtask1-07.txt AC 2 ms 384 KB
subtask1-08.txt AC 4 ms 512 KB
subtask1-09.txt AC 7 ms 512 KB
subtask1-10.txt AC 6 ms 512 KB
subtask1-11.txt AC 8 ms 512 KB
subtask1-12.txt AC 3 ms 384 KB
subtask1-13.txt AC 4 ms 384 KB
subtask1-14.txt AC 5 ms 384 KB
subtask1-15.txt AC 7 ms 512 KB
subtask1-16.txt AC 8 ms 512 KB
subtask1-17.txt AC 7 ms 512 KB
subtask1-18.txt AC 6 ms 512 KB
subtask1-19.txt AC 9 ms 512 KB
subtask1-20.txt AC 9 ms 512 KB
subtask1-21.txt AC 9 ms 512 KB
subtask1-22.txt AC 9 ms 512 KB
subtask1-23.txt AC 9 ms 512 KB
subtask1-24.txt AC 9 ms 512 KB
subtask1-25.txt AC 6 ms 512 KB
subtask1-26.txt AC 10 ms 512 KB
subtask1-27.txt AC 9 ms 512 KB
subtask1-28.txt AC 7 ms 512 KB
subtask1-29.txt AC 9 ms 512 KB
subtask1-30.txt AC 9 ms 512 KB