Submission #519543
Source Code Expand
// Template.cpp by kevinptt 20150108
#include <bits/stdc++.h>
/*
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <deque>
#include <list>
#include <map>
#include <set>
#include <iostream>
// */
using namespace std;
#define REP(I, N) for(int I=0; I<(N); ++I)
#define REP1(I, N) for(int I=1; I<=(N); ++I)
#define REPP(I, A, B) for(int I=(A); I<(B); ++I)
#define REPR(I, N) for(int I=N-1; I>=0; --I)
#define RI(X) scanf("%d", &(X))
#define RII(X, Y) scanf("%d%d", &(X), &(Y))
#define RIII(X, Y, Z) scanf("%d%d%d", &(X), &(Y), &(Z))
#define DRI(X) int X; scanf("%d", &X)
#define DRII(X, Y) int X, Y; scanf("%d%d", &X, &Y)
#define DRIII(X, Y, Z) int X, Y, Z; scanf("%d%d%d", &X, &Y, &Z)
#define MP make_pair
#define PB push_back
#define MSET(x, y) memset(x, y, sizeof(x))
#define F first
#define S second
typedef long long ll;
typedef pair<int,int> pii;
/***************************************************************/
set< pair<pii, int> > mySet;
int a, b, c;
inline bool exist(int x, int y, int z) {
if( x<0 || y<0 || z<0 || x>=a || y>=b || z>=c ) return false;
return mySet.find(MP(MP(x, y), z))==mySet.end();
}
inline int change(int x, int y, int z) {
int ret = 0;
bool tmp1, tmp2;
tmp1 = exist(x+1, y, z), tmp2 = exist(x-1, y, z);
if( tmp1&&tmp2 ) ret += 2;
else if( !tmp1 && !tmp2 ) ret -= 2;
tmp1 = exist(x, y+1, z), tmp2 = exist(x, y-1, z);
if( tmp1&&tmp2 ) ret += 2;
else if( !tmp1 && !tmp2 ) ret -= 2;
tmp1 = exist(x, y, z+1), tmp2 = exist(x, y, z-1);
if( tmp1&&tmp2 ) ret += 2;
else if( !tmp1 && !tmp2 ) ret -= 2;
return ret;
}
int main() {
#ifdef KEVINPTT
//freopen("a.in", "r", stdin);
//freopen("a.ans", "w", stdout);
#endif
RIII(a, b, c);
DRI(n);
ll ans = (1ll*a*b+1ll*b*c+1ll*a*c)<<1;
while( n-- ) {
DRIII(x, y, z);
ans += change(x, y, z);
mySet.insert(MP(MP(x, y), z));
}
printf("%lld\n", ans);
return 0;
}
Submission Info
Submission Time
2015-10-03 12:56:58+0900
Task
G - Surface Area of Cubes
User
kevinptt
Language
C++11 (GCC 4.8.1)
Score
100
Code Size
2010 Byte
Status
AC
Exec Time
35 ms
Memory
996 KiB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:68:15: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
RIII(a, b, c);
^
./Main.cpp:69:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
DRI(n);
^
./Main.cpp:72:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
DRIII(x, y, z);
^
Judge Result
Set Name
All
Score / Max Score
100 / 100
Status
Set Name
Test Cases
All
00_sample_00, 00_sample_01, 00_sample_02, 10_random_small_00, 10_random_small_01, 10_random_small_02, 10_random_small_03, 10_random_small_04, 10_random_small_05, 10_random_small_06, 10_random_small_07, 10_random_small_08, 10_random_small_09, 11_random_large_00, 11_random_large_01, 11_random_large_02, 11_random_large_03, 11_random_large_04, 11_random_large_05, 11_random_large_06, 11_random_large_07, 11_random_large_08, 11_random_large_09, 20_sparse_00, 20_sparse_01, 20_sparse_02, 20_sparse_03, 20_sparse_04, 20_sparse_05, 20_sparse_06, 20_sparse_07, 20_sparse_08, 20_sparse_09, 30_path_00, 30_path_01, 30_path_02, 30_path_03, 30_path_04, 30_path_05, 30_path_06, 30_path_07, 30_path_08, 30_path_09, 40_max_00, 40_max_01, 40_max_02, 40_max_03, 40_max_04, 50_min_00, 50_min_01, 50_min_02, 50_min_03, 50_min_04, 60_hirabettai_00, 60_hirabettai_01, 60_hirabettai_02, 60_hirabettai_03, 60_hirabettai_04, 70_hosonagai_00, 70_hosonagai_01, 70_hosonagai_02, 70_hosonagai_03, 70_hosonagai_04, 80_zero_00, 80_zero_01, 80_zero_02, 99_tokohand_00, 99_tokohand_01
Case Name
Status
Exec Time
Memory
00_sample_00
AC
27 ms
872 KiB
00_sample_01
AC
27 ms
928 KiB
00_sample_02
AC
28 ms
984 KiB
10_random_small_00
AC
27 ms
924 KiB
10_random_small_01
AC
35 ms
868 KiB
10_random_small_02
AC
31 ms
920 KiB
10_random_small_03
AC
27 ms
916 KiB
10_random_small_04
AC
28 ms
916 KiB
10_random_small_05
AC
27 ms
864 KiB
10_random_small_06
AC
29 ms
916 KiB
10_random_small_07
AC
27 ms
796 KiB
10_random_small_08
AC
28 ms
800 KiB
10_random_small_09
AC
28 ms
808 KiB
11_random_large_00
AC
27 ms
928 KiB
11_random_large_01
AC
27 ms
924 KiB
11_random_large_02
AC
27 ms
920 KiB
11_random_large_03
AC
28 ms
796 KiB
11_random_large_04
AC
26 ms
788 KiB
11_random_large_05
AC
26 ms
924 KiB
11_random_large_06
AC
27 ms
924 KiB
11_random_large_07
AC
25 ms
932 KiB
11_random_large_08
AC
28 ms
920 KiB
11_random_large_09
AC
30 ms
920 KiB
20_sparse_00
AC
27 ms
868 KiB
20_sparse_01
AC
25 ms
928 KiB
20_sparse_02
AC
25 ms
804 KiB
20_sparse_03
AC
27 ms
924 KiB
20_sparse_04
AC
26 ms
924 KiB
20_sparse_05
AC
29 ms
924 KiB
20_sparse_06
AC
27 ms
792 KiB
20_sparse_07
AC
27 ms
924 KiB
20_sparse_08
AC
27 ms
920 KiB
20_sparse_09
AC
28 ms
860 KiB
30_path_00
AC
27 ms
804 KiB
30_path_01
AC
29 ms
996 KiB
30_path_02
AC
30 ms
924 KiB
30_path_03
AC
27 ms
868 KiB
30_path_04
AC
29 ms
992 KiB
30_path_05
AC
28 ms
860 KiB
30_path_06
AC
29 ms
920 KiB
30_path_07
AC
29 ms
924 KiB
30_path_08
AC
28 ms
928 KiB
30_path_09
AC
29 ms
920 KiB
40_max_00
AC
29 ms
824 KiB
40_max_01
AC
28 ms
920 KiB
40_max_02
AC
28 ms
980 KiB
40_max_03
AC
26 ms
924 KiB
40_max_04
AC
27 ms
932 KiB
50_min_00
AC
27 ms
868 KiB
50_min_01
AC
26 ms
868 KiB
50_min_02
AC
27 ms
792 KiB
50_min_03
AC
27 ms
868 KiB
50_min_04
AC
27 ms
868 KiB
60_hirabettai_00
AC
26 ms
872 KiB
60_hirabettai_01
AC
26 ms
868 KiB
60_hirabettai_02
AC
28 ms
792 KiB
60_hirabettai_03
AC
28 ms
868 KiB
60_hirabettai_04
AC
27 ms
868 KiB
70_hosonagai_00
AC
26 ms
872 KiB
70_hosonagai_01
AC
27 ms
872 KiB
70_hosonagai_02
AC
27 ms
868 KiB
70_hosonagai_03
AC
27 ms
916 KiB
70_hosonagai_04
AC
27 ms
920 KiB
80_zero_00
AC
27 ms
960 KiB
80_zero_01
AC
26 ms
932 KiB
80_zero_02
AC
26 ms
868 KiB
99_tokohand_00
AC
26 ms
928 KiB
99_tokohand_01
AC
27 ms
932 KiB