前提
Atcorder beginner contest 269のD問題をdfsで解いているのですが、終了コード139が発生してしまいます。どうしたらそれを取り除けるのか、またそもそも自分の書いているコードで政界にたどり着けるのかを教えてください。
実現したいこと
エラーの停止
発生している問題・エラーメッセージ
終了コード139
該当のソースコード
c++
ソースコード
#include <iostream> #include<vector> using namespace std; vector<vector<int>>seen(2000,vector<int>(2000));vector<vector<int>>judge(2000,vector<int>(2000)); void dfs(int s,int t){ seen[s][t] = 1; if(judge[s-1][t-1])dfs(s-1,t-1); if(judge[s-1][t])dfs(s-1,t); if(judge[s][t-1])dfs(s,t-1); if(judge[s][t+1])dfs(s,t+1); if(judge[s+1][t])dfs(s+1,t); if(judge[s+1][t+1])dfs(s+1,t+1); } int main(){ int N;cin >> N; vector<vector<int>>a(2000,vector<int>(2000)); vector<int>b(N);vector<int>c(N); for(int i=0;i<N;i++){ cin >> b[i] >> c[i];b[i]+=1000;c[i]+=1000;judge[b[i]][c[i]]=1; } int ans = 0; for(int i=0;i<N;i++){ if(!seen[b[i]][c[i]]){ dfs(b[i],c[i]);ans++; } } cout << ans << endl; }
回答1件
あなたの回答
tips
プレビュー