fork download
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <string.h>
  5. #include <time.h>
  6. #include <stdlib.h>
  7. #include <string>
  8. #include <bitset>
  9. #include <vector>
  10. #include <set>
  11. #include <map>
  12. #include <queue>
  13. #include <algorithm>
  14. #include <sstream>
  15. #include <stack>
  16. #include <iomanip>
  17. using namespace std;
  18. #define pb push_back
  19. #define mp make_pair
  20. typedef pair<int,int> pii;
  21. typedef long long ll;
  22. typedef double ld;
  23. typedef vector<int> vi;
  24. #define fi first
  25. #define se second
  26. #define fe first
  27. #define FO(x) {freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);}
  28. #define Edg int M=0,fst[SZ],vb[SZ],nxt[SZ];void ad_de(int a,int b){++M;nxt[M]=fst[a];fst[a]=M;vb[M]=b;}void adde(int a,int b){ad_de(a,b);ad_de(b,a);}
  29. #define Edgc int M=0,fst[SZ],vb[SZ],nxt[SZ],vc[SZ];void ad_de(int a,int b,int c){++M;nxt[M]=fst[a];fst[a]=M;vb[M]=b;vc[M]=c;}void adde(int a,int b,int c){ad_de(a,b,c);ad_de(b,a,c);}
  30. #define es(x,e) (int e=fst[x];e;e=nxt[e])
  31. #define esb(x,e,b) (int e=fst[x],b=vb[e];e;e=nxt[e],b=vb[e])
  32. #define SZ 666666
  33. int T,n,m,k; set<pii> s;
  34. int dx[]={-1,1,0,0},dy[]={0,0,-1,1};
  35. void sol()
  36. {
  37. scanf("%d%d%d",&n,&m,&k);
  38. s.clear();
  39. for(int i=1;i<=k;++i)
  40. {
  41. int x,y;
  42. scanf("%d%d",&x,&y);
  43. s.insert(pii(x,y));
  44. }
  45. int su=0;
  46. for(auto x:s)
  47. for(int k=0;k<4;++k)
  48. su+=!s.count(pii(x.fi+dx[k],x.se+dy[k]));
  49. printf("%d\n",su);
  50. }
  51. int main()
  52. {
  53. scanf("%d",&T);
  54. while(T--) sol();
  55. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty