捗らない作業、ハエレAA乗った。 Codeforces#197
夕方頃には心も果ててしまったので、ゲーセンへ。
GAMBOL(H) 等速でAA出たよ!
INFERNO(A)フルコン
もうお前しか見えない(H)フルコン
lights(A)フルコン
ハエレAA
その後は家族で牛角へ。
量はさておき、味付けがやたらと塩辛かったんですよね…。
リピはないなってなっちゃいました。
その後はサンボルをやる。
サブカでFLOWER抜けたー!
仕方ないのでメインでももう一度。
私は剛力羅ではなかった。
砂塵カゲロウ(ノースピ)
解禁がんばりました。
繚乱ヒットチャート(ノースピ)
ままま。普通に難しい。
帰宅しようかと思った時には、外はどしゃぶりでした。
そんな中、傘もないので、走って帰宅し、
Codeforcesに滑りこみ参加(登録はスマホで済ませておいていた)
A問題は、足し算の順番を昇順に並び替えるという動作をやるだけ。
import java.util.Arrays;
import java.util.Scanner;
public class Main2 {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
String st = sc.nextLine();
int[] num = new int[st.length()/2+st.length()%2];
for(int i = 0 ; i < st.length() ; i+=2){
num[i/2] = Character.digit(st.charAt(i), 10);
}
Arrays.sort(num);
StringBuilder sb = new StringBuilder();
for(int i = 0 ; i < num.length ; i++){
sb.append(num[i]).append("+");
}
System.out.println(sb.substring(0,sb.length()-1));
}
}
B問題は、n個の家があり、m番目の家でタスクをやるという配列が与えられ、
この人はn,n+1,n+2...1というふうに順番に移動するとき、
タスクが全部終わるにはどのくらい移動が必要かという問題。
単純シミュレートでは間に合わないので、タスク視点で解法を考えるとただの足し算である。
もちろん、n番目の家に居たときの次が1に戻るので、その場合の条件分岐をお忘れなく。
import java.util.Scanner;
public class Main2 {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[] a = new int[m];
for(int i = 0 ; i < m ; i ++){
a[i] = sc.nextInt();
}
long time = 0;
int j = 1;
for(int i = 0 ; i < a.length ; i++){
if(a[i] < j){
time += n-j+a[i];
j = a[i];
}else if(a[i] > j){
time += a[i]-j;
j = a[i];
}
}
System.out.println(time);
}
}
C問題は、1~10kgのおもりを持っているか持ってないか状態を与えられた時、
連続して同じおもりを載せずに、ガッタンゴットンできるかどうか、
できれば出力をしろ、できなければNoという問題。
D問題は、n個の数とm個のクエリが与えられて、
n個の初期配列があり、
クエリごとにa_pをqに更新し、
or演算、xor演算を繰り返す動作をしたとき、クエリ毎に結果を返せという問題。
by ddrer-yossi | 2013-08-26 23:07 | codeforces