[JAVA] ABC - 019 - A & B & C.

AtCoder ABC 019 A&B&C AtCoder - 019

Ich erkannte, dass es für mich schwierig sein würde, den Problemnamen ohne den Problemnamen zu finden. Geben Sie daher von nun an den Problemnamen ein.

** 17. Mai 2019: Feste Codes A und B **

A - Takahashi-Kun und Alter

--Code korrigiert, weil Sie im Kommentar darauf hingewiesen haben, dass die Sortierung zusammen mit dem Stream verarbeitet werden kann

―― Da es sich um den Medianwert handelt, sortieren Sie ihn in der Mitte

	private void solveA() {
		int[] wk = IntStream.range(0, 3).map(i -> nextInt()).sorted().toArray();

		out.println(wk[1]);
	}

old

private void solveA() {

	int[] wk = IntStream.range(0, 3).map(i -> nextInt()).toArray();

	Arrays.sort(wk);

	out.println(wk[1]);
}

B - Takahashi-Kun- und Zeichenkettenkomprimierung

	private void solveB() {
		char[] wk = next().toCharArray();
		StringBuilder builder = new StringBuilder();
		int cnt = 0;
		for (int i = 0; i < wk.length - 1; i++) {
			if (cnt == 0) {
				builder.append(wk[i]);
				cnt++;
			}
			if (wk[i] != wk[i + 1]) {
				builder.append(cnt);
				cnt = 0;
			} else {
				cnt++;
			}
		}
		if (cnt != 0) {
			builder.append(cnt);
		} else {
			builder.append(wk[wk.length - 1]);
			builder.append(1);
		}

		out.println(builder.toString());

	}

C - Takahashi-Kun und Magic Box: Verwenden Sie Set und Liste

	private void solveC() {
		Set<Long> wk = new HashSet<Long>();
		List<Long> base = new ArrayList<Long>();
		int n = nextInt();
		for (int i = 0; i < n; i++) {
			long val = nextLong();
			wk.add(val);
			base.add(val);
		}

		Collections.sort(base);
		long max = base.get(base.size() - 1);
		long res = 0;
		for (Long longVal : base) {
			if (wk.contains(longVal)) {
				wk.remove(longVal);
				res += recursiveC(wk, max, longVal);
			}
			if (wk.size() == 0) {
				break;
			}
		}

		out.println(res);
	}

	private int recursiveC(Set<Long> wk, long max, long current) {
		if (current > max || wk.size() == 0) {
			return 1;
		}

		current <<= 1;
		wk.remove(current);
		return recursiveC(wk, max, current);
	}

C - Takahashi-Kun und Magic Box: Nur Set verwenden

――Nach AC in einer Schleife wurde es "Zählt dies am Ende nur eine ungerade Zahl?", Also habe ich AC ausprobiert -Die Zahl, die $ 1 verdoppelt, wird am Ende zu 1, wenn sie durch 2 geteilt wird. $

	private void solveC2() {
		Set<Integer> wk = new HashSet<Integer>();
		int n = nextInt();
		for (int i = 0; i < n; i++) {
			int val = nextInt();
			while ((val & 1) != 1) {
				val /= 2;
			}
			wk.add(val);
		}

		out.println(wk.size());
	}

Recommended Posts

ABC - 023 - A & B & C.
ABC - 036-A & B & C.
ABC - 010 - A & B & C.
ABC - 028 - A & B & C.
ABC - 015 - A & B & C.
ABC - 128 - A & B & C.
ABC - 012-A & B & C.
ABC - 018 - A & B & C.
ABC - 054 - A & B & C.
ABC - 029 - A & B & C.
ABC - 022 - A & B & C.
ABC - 019 - A & B & C.
ABC - 020 - A & B & C.
ABC - 030 - A & B & C.
ABC - 127 - A & B & C.
ABC - 007 - A & B & C.
ABC - 132 - A & B & C.
ABC - 026 - A & B & C.
ABC - 014 - A & B & C.
ABC - 016 - A & B & C.
ABC - 011-A & B & C.
ABC - 031 - A & B & C.
ABC - 021 - A & B & C.
ABC - 025 - A & B & C.
ABC - 024 - A & B & C.
ABC - 027 - A & B & C.
ABC - 080 - A & B & C.
ABC - 133 - A & B & C & D.
ABC - 122 - A & B & C & D.
ABC - 125 - A & B & C & D.
ABC - 130 - A & B & C & D.
ABC - 126 - A & B & C & D.
ABC - 134 - A & B & C & D & E.
ABC - 131 - A & B & C & D & E.
diverta 2019 Programmierwettbewerb A & B & C & D.
atcoder ABC113 C Problem
ABC093 C - Gleiche Ganzzahlen
atcoder ABC115 C Problem
AtCoder Anfängerwettbewerb 170 A, B, C bis Rubin
Eine Person, die C ++ schreibt, hat versucht, Java zu schreiben
Machen Sie einen SOAP-Aufruf in C #
Rufen Sie C-Sprachfunktionen von Swift aus auf
NLP4J 100 Sprachverarbeitungsklopfen mit NLP4J # 34 "A B"