はやし屋

競技プログラミングのメモ きたない

aoj 1030: Cubes Without Holes

n*n*nの配列より、
全体から引くことのほうが早く浮かんだ

#include<iostream>
#include<set>
#include<map>
using namespace std;
#define mp(a,b) make_pair(a,b)
int n, h;

int main(){
  while(cin >> n >> h && (n|h)){
    set < pair < int , pair < int , int > > > st;
    for(int i = 0 ; i < h ; ++i){
      string s; int a , b;
      cin >> s >> a >> b;
      for(int j = 1 ; j <= n; ++j){
	if(s == "xy"){
	  st.insert(mp(a,mp(b,j)));
	} else if(s == "xz"){
	  st.insert(mp(a,mp(j,b)));
	} else if(s == "yz"){
	  st.insert(mp(j,mp(a,b)));
	}
      }
    }
    cout << n*n*n - st.size() << endl;
  }
}