結果

問題 No.438 Cwwプログラミング入門
ユーザー uafr_cs
提出日時 2016-10-28 22:58:04
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 2,575 bytes
コンパイル時間 4,470 ms
コンパイル使用メモリ 81,004 KB
実行使用メモリ 572,136 KB
最終ジャッジ日時 2024-11-24 18:33:26
合計ジャッジ時間 38,012 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 33 WA * 39 RE * 24 MLE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

public class Main {
	
	public static class Ref<T> {
		T value;
		
		public void setValue(T value){
			this.value = value;
		}
		
		public T getValue(){
			return value;
		}
	}
	
	public static long gcd(long a, long b){
		return b == 0 ? a : gcd(b, a % b);
	}
	
	public static long extcdf(long a, long b, Ref<Long> x, Ref<Long> y){
		long g = a;
		x.setValue(1l);
		y.setValue(0l);
		
		if(b != 0){
			g = extcdf(b, a % b, y, x);
			y.setValue(y.getValue() - (a / b) * x.getValue());
		}
		
		return g;
	}
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		final long x = sc.nextLong();
		final long y = sc.nextLong();
		final long z = sc.nextLong();
		
		final long gcd = gcd(x, y);
		if(z % gcd != 0){
			System.out.println("mourennaihasimasenn");
		}else{
			Ref<Long> a = new Ref<Long>();
			Ref<Long> b = new Ref<Long>();
			
			extcdf(x, y, a, b);
			
			final StringBuilder oneloop = new StringBuilder();
			final boolean one_comb = Math.abs(a.getValue()) != 0 && Math.abs(b.getValue()) != 0;
			
			if(a.getValue() >= 0){
				for(int i = 0; i < Math.abs(a.getValue()); i++){
					oneloop.append('c');
				}
				for(int i = 0; i < Math.abs(a.getValue()) - 1; i++){
					oneloop.append('C');
				}
				
				for(int i = 0; i < Math.abs(b.getValue()); i++){
					oneloop.append('w');
				}
				for(int i = 0; i < Math.abs(b.getValue()) - 1; i++){
					oneloop.append('C');
				}
				
				if(one_comb){
					if(b.getValue() >= 0){
						oneloop.append('C');
					}else{
						oneloop.append('W');
					}
				}
			}else{
				for(int i = 0; i < Math.abs(b.getValue()); i++){
					oneloop.append('w');
				}
				for(int i = 0; i < Math.abs(b.getValue()) - 1; i++){
					oneloop.append('C');
				}
				
				for(int i = 0; i < Math.abs(a.getValue()); i++){
					oneloop.append('c');
				}
				for(int i = 0; i < Math.abs(a.getValue()) - 1; i++){
					oneloop.append('C');
				}
				
				if(one_comb){
					oneloop.append('W');
				}
			}
			
			//System.out.println(oneloop);
			
			final StringBuilder allloop = new StringBuilder();
			for(int i = 0; i < (z / gcd); i++){
				allloop.append(oneloop);
				if(i != 0){
					allloop.append('C');
				}
			}
			
			if(allloop.length() > 10000){
				System.out.println("mourennaihasimasenn");
			}else{
				System.out.println(allloop);
			}
			
		}
	}
}
0