- 投稿日:2021-03-04T23:40:52+09:00
Java 基礎
- 投稿日:2021-03-04T18:43:18+09:00
EclipseでのJUnitのエラー対処 備忘録
エラー
[ERROR] Failed to execute goal project resource: Could not resolve dependencies for project xxxxx:jar:1.0.0: The following artifact could not be resolved xxxxx:jar:1.0.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted utill the update interval of central has elapsed or updates are forced解決策
[実行]-[実行構成]
[{該当JUnitテスト}]-[テスト]-[テスト・ランナー]のバージョンを適切なバージョンに変更する
- 投稿日:2021-03-04T18:15:28+09:00
プログラミング初心者が基礎基本を地道に身に着ける日記(Java_ABC190編)
※本稿はAtCoderProblemsのBeginnerContest,A~C問題をJavaを用いて地道に解いていく人間の観察日記です
目次
- まえがき
- AtCoder Beginner Contest 190に挑戦
- A問題
- B問題
- C問題
- 感想
- お世話になったサイト(参考に使用)
まえがき
前回の記事(ABC191)
~前回のあらすじ~
前回、初等教育である算数の内容を失念していたe2vee。今日こそは1時間程度でABC190を終わらせることができるのか!?頑張れ~~!e2vee~~~!!!AtCoder Begginer Contest 190に挑戦
A問題
190A.javaimport java.util.*; class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //お決まり。ABCを取得 int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); //答えのフィールドを作成しておく String ans = " "; //c=0のときはTakahashiから if(c==0){ //Takahashi==Aoki if(a>b){ ans = "Takahashi"; }else{ ans = "Aoki"; } //c=1のときはAokiから }else if(c==1){ if(a<b){ ans = "Aoki"; }else{ ans = "Takahashi"; } } //解の出力! System.out.println(ans); } }もはやA問題など、粗末なカップラーメンのようだ。シェフ、もっといい料理を頼むよ。
B問題
190B.javaimport java.util.*; class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //お決まり。まずはN,S,Dを読み取り int n = sc.nextInt(); int s = sc.nextInt(); int d = sc.nextInt(); //解の準備 String ans = "No"; //行列..N*2 for(int i=0; i<n; i++){ //XY読み取り int x = sc.nextInt(); int y = sc.nextInt(); //vs魔物 //S秒以上かかる詠唱を無効 //威力D以下の魔法を無効 if( x<s && d<y ){//効果アリ ans = "Yes"; break; } } //解の出力! System.out.println(ans); } }ふむ..。カップラーメンに温泉卵を追加した程度では満足できませんよ。美味な料理をよこしなさい。
C問題
190C.javaimport java.util.*; class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //とりあえずN,Mを読みとっろっか.. int n = sc.nextInt(); int m = sc.nextInt(); //解 int ans = 0; //条件iを保存する配列を作る。 int[] a = new int[m]; int[] b = new int[m]; //条件i 皿A,Bの両方にボールが置かれていると満たされる for(int i=0; i<m; i++){ //条件を読み取る a[i] = sc.nextInt(); b[i] = sc.nextInt(); } //Kの読み取り int k = sc.nextInt(); //C,Dのどちらかにボールを置ける int[] c = new int[k]; int[] d = new int[k]; //K人の人が、C or Dの皿にボールを置く for(int i=0; i<k; i++){ //条件を読み取る c[i] = sc.nextInt(); d[i] = sc.nextInt(); } //再現できるボールの置き方(皿) int plate[] = new int[n+1];//番号が1からなので //C or Dのbit全探索で2^k通り for(int i=0; i<Math.pow(2,k); i++){ //bit全探索の全通りのloop //皿の初期化 Arrays.fill(plate, 0); for(int j=0; j<k; j++){ //1loop毎にどの皿にボールを置くのかを判定 ////ボールを置く皿の対象 if((1&i>>j)==1){ plate[c[j]]=1; }else{ plate[d[j]]=1; } } //条件と確認 int r = 0; for(int j=0; j<m; j++){ if(plate[a[j]]==1 && plate[b[j]]==1){ r++; } } //現在保存されている条件を満たした最大の数がans //ここで、i回目のパターンで条件を満たした数がr //System.out.println("ans="+ans); //System.out.println("rlt="+r); ans = Math.max(ans, r); } //解の出力! System.out.println(ans); } }bit探索が必要ってことは分かったけど、それ以外は全然わからん..。条件分岐とかぐちゃぐちゃだ..。おなかいっぱいです。ごちそうさまでした。(結局1時間で終わらなかった)
ちょっとこれはもう一度仕組みを理解しないと、また詰む..。明日は一度bit探索について勉強しようと思います。
感想
着実にAとB問題に関しては特に問題がないくらいスラスラと解けて良いのですが、C問題に1時間くらい持っていかれてしまうのががががが..。
ぶっちゃけて言うと、覚えていない関数やメソッド、クラス分けなども得意としていないので、慣れるまで時間を沢山有するかもです;;
お世話になったサイト
神様..いろいろ参考にさせていただきました。特別枠として置いておきます。
- 投稿日:2021-03-04T17:03:14+09:00