質問: k; //a[i]を使わない場合 if(dfs(i+1, sum)) return true; //a[i]を使う場合 if(dfs(i+1, sum + a[i])) return true; //a[i]を使う使わないに関わらずkが作れないのでfalseを返す return false; } int main(){ ifstream in("input.txt"); cin.rdbuf(in.rdbuf()); cin >> n >> k; for(int i=0;i> a[i]; } if(dfs(0, 0)) printf("Yes\n"); else printf("No\n"); } ``` input.txt ``` 4 13 1 2 4 7 ``` エラーメッセージ -------- 'sigfe.s' を開くことができません: ファイル 'c:\cygwin64\cygwin\src\cygwin\cygwin-3.1.4\cygwin-3.1.4-1.x86_64\build\x86_64-pc-cygwin\winsup\cygwin\sigfe.s' を読み取れません (Error: 存在しないファイル 'c:\cygwin64\cygwin\src\cygwin\cygwin-3.1.4\cygwin-3.1.4-1.x86_64\build\x86_64-pc-cygwin\winsup\cygwin\sigfe.s' を解決できません)。 試してみたこと ------- 類似のエラーは調べてみるとネット上にいくつかありましたが、自分の英語力が低いせいで、解決策はうまく読み取れませんでした。また、Cのデバッグをgdbで行おうとした際も、同様のエラーに悩まされています。 拙い質問かもしれませんが、どうぞよろしくお願いいたします。
回答: `sigfe.s`はCygwinのCランタイムのソースコードです。 `printf`の中へ`step`(短縮形`s`)ステップインしようとしたのでしょう。 Cランタイムの中を覗きたいのでなければ`printf`に対しては`next`(短縮形`n`)でステップオーバーすればソースコードを要求されないと思います。 今手元にcygwin環境がないので動作は未確認ですが...