404 Not Found ← 問題文
なんか問題内容の割に正答率低い問題。何か落とし穴があるのだろうか。自分は気づかずACできた。
ホントやるだけ。500^3は一億超えちゃうので三次元配列とか用意すると死ぬと思う。setで節約 + 重複除去で一石二鳥。
#include <set> #include <iostream> using namespace std; typedef pair< int, pair<int,int> > cube; int main(){ int n,h,a,b; string s; while(cin >> n >> h && (n||h) ){ set<cube> data; cube t; for(int i=0;i<h;i++){ cin >> s >> a >> b; for(int i=1;i<=n;i++){ if(s=="xy")t = make_pair(a,make_pair(b,i)); if(s=="xz")t = make_pair(a,make_pair(i,b)); else if(s=="yz")t = make_pair(i,make_pair(a,b)); data.insert(t); } } cout << n*n*n-data.size() << endl; } }