1,4,5TLE;2,3RE,C++14
查看原帖
1,4,5TLE;2,3RE,C++14
947202
wangruize88楼主2024/4/30 21:27
#include <iostream>
#include <cstring>
using namespace std ;
bool a[10001][10001] ;
inline void clean ( char c , int x , int y ) {
	if ( c == 'h' ) {
		for ( int i = x-2 , j = y ; i <= x+2 ; i ++ ) {	
			if ( !(i<1&&i>10000) ) a[i][j] = 1 ;
		}
		for ( int i = x , j = y+2 ; j >= y-2 ; j -- ) {
			if ( !(j<1&&j>10000) ) a[i][j] = 1 ;
		}
		a[x-1][y-1] = 1 , a[x-1][y+1] = 1 , a[x+1][y-1] = 1 , a[x+1][y+1] = 1 ;
	} else {
		for ( int i = x-2 ; i <= x+2 ; i ++ ) {
			for ( int j = y-2 ; j <= y+2 ; y ++ ){
				if ( !(i<1&&i>10000) && !(j<1&&j>10000) ) a[i][j] = 1 ;
			}
		}
	}
	return ;
}
int main () {
	ios::sync_with_stdio(false) ;
	memset ( a , 0 , sizeof a ) ;
	int n , m , k , x , y , ans = 0 ;
	cin >> n >> m >> k ;
	for ( int i = 1 ; i <= m ; i ++ ) {
		cin >> x >> y ;
		clean ( 'h' , x , y ) ;
	}
	for ( int i = 1 ; i <= k ; i ++ ) {
		cin >> x >> y ;
		clean ( 'y' , x , y ) ;
	}
	//cout << endl ;
	for ( int i = 1 ; i <= n ; i ++ ) {
		for ( int j = 1 ; j <= n ; j ++ ){
			//cout << a[i][j] << ' ' ;
			if ( a[i][j] == 0 ) ans ++ ;
		}
		//cout << endl ;
	}
	//cout << endl ;
	cout << ans ;
	return 0 ;
}
2024/4/30 21:27
加载中...