Submission #4065577
Source Code Expand
// ConsoleApplication9.cpp : アプリケーションのエントリ ポイントを定義します。
//
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<queue>
#include<map>
#include<math.h>
#include<iomanip>
#include<set>
#include<numeric>
#include<cstring>
#include<cstdio>
#include<functional>
#define REP(i, n) for(int i = 0;i < n;i++)
#define REPR(i, n) for(int i = n;i >= 0;i--)
#define FOR(i, m, n) for(int i = m;i < n;i++)
#define FORR(i, m, n) for(int i = m;i >= n;i--)
#define SORT(v, n) sort(v, v+n);
#define VSORT(v) sort(v.begin(), v.end());
#define REVERSE(v,n) reverse(v,v+n);
#define VREVERSE(v) reverse(v.begin(), v.end());
#define ll long long
#define pb(a) push_back(a)
#define INF 9999999999
#define m0(x) memset(x,0,sizeof(x))
#define fill(x,y) memset(x,y,sizeof(x))
#define p(x) cout<<x<<endl;
#define pe(x) cout<<x<<" ";
#define lb(v,n) lower_bound(v.begin(), v.end(), n);
#define int long long
using namespace std;
int dy[4] = { 0,0,1,-1 };
int dx[4] = { 1,-1,0,0 };
int dxx[9] = {0, 0,0,1,1,1,-1,-1,-1 };
int dyy[9] = {0, 1,-1,0,1,-1,0,1,-1 };
ll gcd(ll x, ll y) {
ll m = max(x, y), n = min(x, y);
if (m%n == 0)return n;
else return gcd(m%n, n);
}
ll lcm(ll x, ll y) {
return x / gcd(x, y)*y;
}
ll myPow(ll x, ll n, ll m) {
if (n == 0)
return 1;
if (n % 2 == 0)
return myPow(x * x % m, n / 2, m);
else
return x * myPow(x, n - 1, m) % m;
}
ll pow2(ll a, ll n) {//aのn乗を計算します。
ll x = 1;
while (n > 0) {//全てのbitが捨てられるまで。
if (n & 1) {//1番右のbitが1のとき。
x = x * a;
}
a = a * a;
n >>= 1;//bit全体を右に1つシフトして一番右を捨てる。
}
return x;
}
long long nCr(int n, int r) {
if (r > n / 2) r = n - r; // because C(n, r) == C(n, n - r)
long long ans = 1;
int i;
for (i = 1; i <= r; i++) {
ans *= n - r + i;
ans /= i;
}
return ans;
}
const int MAX = 510000;
const int MOD = 1000000007;
long long fac[MAX], finv[MAX], inv[MAX];
// テーブルを作る前処理
void COMinit() {
fac[0] = fac[1] = 1;
finv[0] = finv[1] = 1;
inv[1] = 1;
for (int i = 2; i < MAX; i++) {
fac[i] = fac[i - 1] * i % MOD;
inv[i] = MOD - inv[MOD%i] * (MOD / i) % MOD;
finv[i] = finv[i - 1] * inv[i] % MOD;
}
}
// 二項係数計算
long long COM(int n, int k) {
if (n < k) return 0;
if (n < 0 || k < 0) return 0;
return fac[n] * (finv[k] * finv[n - k] % MOD) % MOD;
}
bool arr[100000100];
vector<ll>sosuu;
void Eratosthenes() {
ll N = 10000010;
int c = 0;
for (int i = 0; i < N; i++) {
arr[i] = 1;
}
for (ll i = 2; i < sqrt(N); i++) {
if (arr[i]) {
for (ll j = 0; i * (j + 2) < N; j++) {
arr[i *(j + 2)] = 0;
}
}
}
for (ll i = 2; i < N; i++) {
if (arr[i]) {
sosuu.pb(i);
//cout << sosuu[c] << " ";
c++;
}
}
//cout << endl;
//cout << c << endl;
}
ll stoL(string s) {
ll n = s.length();
ll ans = 0;
for (int i = 0; i < n; i++) {
ans += pow2(10, n - i - 1)*(ll)(s[i] - '0');
}
return ans;
}
map<pair<int, int>, int>mp;
signed main() {
int H, W, N; cin >> H >> W >> N;
REP(i, N) {
int a, b; cin >> a >> b;
a--; b--;
REP(i, 9) {
int nx = a + dxx[i];
int ny = b + dyy[i];
if (nx >= 1 && nx <= H - 2 && ny >= 1 && ny <= W - 2) {
mp[make_pair(nx, ny)]++;
}
}
}
ll sum = 0;
ll ans[10];
m0(ans);
for (auto x : mp) {
ans[x.second]++;
sum++;
}
ans[0] = (H - 2)*(W - 2) - sum;
REP(i, 10) {
p(ans[i]);
}
}
Submission Info
Submission Time |
|
Task |
D - Snuke's Coloring |
User |
Mojumbo |
Language |
C++14 (GCC 5.4.1) |
Score |
400 |
Code Size |
3630 Byte |
Status |
AC |
Exec Time |
479 ms |
Memory |
56448 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
400 / 400 |
Status |
AC
|
|
Set Name |
Test Cases |
Sample |
|
All |
01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, empty.txt, sample_01.txt, sample_02.txt, sample_03.txt |
Case Name |
Status |
Exec Time |
Memory |
01.txt |
AC |
184 ms |
6400 KB |
02.txt |
AC |
376 ms |
41216 KB |
03.txt |
AC |
47 ms |
3328 KB |
04.txt |
AC |
1 ms |
256 KB |
05.txt |
AC |
154 ms |
18944 KB |
06.txt |
AC |
164 ms |
18944 KB |
07.txt |
AC |
377 ms |
56448 KB |
08.txt |
AC |
393 ms |
56448 KB |
09.txt |
AC |
396 ms |
56448 KB |
10.txt |
AC |
1 ms |
256 KB |
11.txt |
AC |
394 ms |
38528 KB |
12.txt |
AC |
437 ms |
56320 KB |
13.txt |
AC |
2 ms |
256 KB |
14.txt |
AC |
479 ms |
46592 KB |
15.txt |
AC |
406 ms |
38656 KB |
empty.txt |
AC |
1 ms |
256 KB |
sample_01.txt |
AC |
1 ms |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
AC |
1 ms |
256 KB |