teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

ソースコードの追加

2019/08/21 11:58

投稿

chan_yu1224
chan_yu1224

スコア7

title CHANGED
File without changes
body CHANGED
@@ -81,4 +81,90 @@
81
81
 
82
82
  これでも以下のようにSTLの中身を可視化できません....
83
83
 
84
- ![VSCode デバッグ画面](e6ad4649d491823290bb3c9aef632ea8.png)
84
+ ![VSCode デバッグ画面](e6ad4649d491823290bb3c9aef632ea8.png)
85
+
86
+ #### 追記
87
+ 必要無いかと思いますが,今回使用しているソースコードも貼っておきます.(まだ意図通りには動作しないです)
88
+ ```
89
+ #include <bits/stdc++.h>
90
+
91
+ #define rep(i, n) for(int i = 0; i < (int)(n); i++)
92
+ #define repr(i, n) for(int i = (int)(n); i >= 0; i--)
93
+ #define repm(i, m, n) for(int i = (int)(m); i < (int)(n); i++)
94
+ #define repmr(i, m, n) for(int i = (int)(n); i >= (int)(m); i--)
95
+ #define all(x) (x).begin(),(x).end()
96
+ #define inf 2e9
97
+
98
+ using namespace std;
99
+ typedef long long int lli;
100
+ typedef long long ll;
101
+
102
+ int main() {
103
+ //入力処理
104
+ vector<vector<char>> a(10, vector<char>(10));
105
+ int lands = 0;
106
+ vector<int> start(2,-1);
107
+ rep(i,10)rep(j,10){
108
+ cin >> a[i][j];
109
+ if(a[i][j] == 'o'){
110
+ lands++;
111
+ if(start[0] == -1){
112
+ start[0] = i;
113
+ start[1] = j;
114
+ }
115
+ }
116
+ }
117
+
118
+ //判定処理
119
+ bool success = false;
120
+ rep(i,10){
121
+ rep(j,10){
122
+ //周囲に2マス以上陸があるか判定
123
+ int l_cnt = 0;
124
+ if(a[i][j] != 'o'){
125
+ if(i-1 >= 0)if(a[i-1][j] == 'o') l_cnt++;
126
+ if(i+1 < 10)if(a[i+1][j] == 'o') l_cnt++;
127
+ if(j-1 >= 0)if(a[i][j-1] == 'o') l_cnt++;
128
+ if(j+1 < 10)if(a[i][j+1] == 'o') l_cnt++;
129
+ }
130
+
131
+ if(l_cnt >= 2){
132
+ //変数初期化
133
+ vector<vector<char>> tmp_a = a; tmp_a[i][j] = 'o';
134
+ stack<vector<int>> st; st.push(start);
135
+ vector<vector<bool>> rout(10, vector<bool>(10,false));
136
+ int fill_cnt = 0;
137
+
138
+ //深さ優先探索
139
+ while(st.size() != 0){
140
+ vector<int> now = st.top();
141
+ st.pop();
142
+ fill_cnt++;
143
+ rout[now[0]][now[1]] = true;
144
+ if(now[0]-1 >= 0 && a[now[0]-1][now[1]] == 'o' && !rout[now[0]-1][now[1]]){
145
+ st.push({now[0]-1,now[1]});
146
+ }
147
+ if(now[0]+1 < 10 && a[now[0]+1][now[1]] == 'o' && !rout[now[0]+1][now[1]]){
148
+ st.push({now[0]+1,now[1]});
149
+ }
150
+ if(now[1]-1 >= 0 && a[now[0]][now[1]-1] == 'o' && !rout[now[0]][now[1]-1]){
151
+ st.push({now[0],now[1]-1});
152
+ }
153
+ if(now[1]+1 < 10 && a[now[0]][now[1]+1] == 'o' && !rout[now[0]][now[1]+1]){
154
+ st.push({now[0],now[1]+1});
155
+ }
156
+ }
157
+
158
+ //全て塗れたか判定
159
+ if(fill_cnt == lands){
160
+ success = true;
161
+ break;
162
+ }
163
+ }
164
+ }
165
+ }
166
+
167
+ //出力処理
168
+ cout << ((success)?"YES":"NO") << endl;
169
+ }
170
+ ```

3

タイトルの訂正

2019/08/21 11:58

投稿

chan_yu1224
chan_yu1224

スコア7

title CHANGED
@@ -1,1 +1,1 @@
1
- VSCodeでのSTLのウォッチをしたいです
1
+ VSCodeでのSTLのウォッチをしたいです(C++)
body CHANGED
File without changes

2

内容補完

2019/08/21 11:50

投稿

chan_yu1224
chan_yu1224

スコア7

title CHANGED
File without changes
body CHANGED
@@ -60,9 +60,25 @@
60
60
  ```
61
61
 
62
62
  #### 環境
63
+ Windows10(1903)
64
+ Visual Studio Code(1.37.1)
63
- オペレーションシステム:Windows10
65
+ GNU gdb (GDB) 7.11.1
66
+ gcc version 7.1.0 (MinGW.org)
64
67
 
65
- #### お詫び
68
+ #### 試したこと
69
+ etc/gdbinitに,以下の文を追加しました.
70
+ `register_libstdcxx_printers (None) `
66
71
 
72
+ 書き込み後
73
+ ```
74
+ python
67
- 編集中に誤投稿しました.
75
+ import sys
76
+ sys.path.insert(0, sys.path[0] + '/../../gcc-7.1.0/python')
77
+ from libstdcxx.v6.printers import register_libstdcxx_printers
78
+ register_libstdcxx_printers (None)
79
+ end
80
+ ```
81
+
68
- ただいま内容を書き込み中です.
82
+ これでも以下のようにSTLの身を可視化きません....
83
+
84
+ ![VSCode デバッグ画面](e6ad4649d491823290bb3c9aef632ea8.png)

1

お詫び

2019/08/21 11:49

投稿

chan_yu1224
chan_yu1224

スコア7

title CHANGED
File without changes
body CHANGED
@@ -60,4 +60,9 @@
60
60
  ```
61
61
 
62
62
  #### 環境
63
- オペレーションシステム:Windows10
63
+ オペレーションシステム:Windows10
64
+
65
+ #### お詫び
66
+
67
+ 編集中に誤投稿しました.
68
+ ただいま内容を書き込み中です.