■ このスレッドは過去ログ倉庫に格納されています
javaできる人かもーん
- 1 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 07:55:26.115 ID:KS6FlJqr0.net
- 今独学でjavaを勉強中なんだが、順列の列挙がどうしてもできない
入力が4の場合、1、2、3、4の数値の順列を列挙するプログラムを深さ優先探索で書いてみたけど
ぜんぜんうまくいかない
どこがだめかわかる?
import java.util.*;
public class Main{
//入力nと使用した数値を記録する配列
public static int n;
public static boolean[] visited;
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
visited = new boolean[n+1];
cal(n);
}
public static void cal(int v){
//順列が完成したら改行
int t = 0;
for(int i=0; i<n; i++){
if(visited[i]==true){t++;}
}
if(t==n){System.out.println(" "); return;}
//順列を作る
for(int i=0; i<n; i++){
if(visited[i]==false){
visited[i] = true;
int k = i+1;
System.out.println(k);
cal(i);
visited[i] = false;}
}
}
}
- 2 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 07:57:36.905 ID:RWj1RSJL0.net
- 実業務でそんなん使わん
- 3 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 07:59:16.345 ID:KS6FlJqr0.net
- >>2
知ってる
でも完全独学だからこういう簡単なものできるようにしときたい
- 4 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 07:59:49.400 ID:jMPxydm60.net
- うわああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
- 5 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 08:01:07.072 ID:F0gXPaojr.net
- }←これ1個多くね
- 6 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 08:02:29.524 ID:KS6FlJqr0.net
- >>4
朝は静かにね
ちなみにatcoder beginner contest054のC問題の復習したいなと思って自分で考えた課題なんだこれ
- 7 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 08:03:40.219 ID:KS6FlJqr0.net
- >>5
それは合ってるとおもう
コンパイルエラーにならんし
- 8 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 08:08:11.382 ID:KS6FlJqr0.net
- こんな感じで列挙できるとおもた
ttp://www.dotup.org/uploda/www.dotup.org1180001.jpg
- 9 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 08:08:43.994 ID:62hcIgX+0.net
- 渡されたvを一切使わない謎プログラム
- 10 :以下、\(^o^)/でVIPがお送りします:2017/03/09(木) 08:09:19.229 ID:vziz1FnD0.net
- スキャナークラスどこだ?
ってかデバッグしよ
総レス数 10
3 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★