[JAVA] ABC --029- A & B & C

AtCoder ABC 029 A&B&C AtCoder - 029

Je fais juste un concours DP typique et Go lang et je n'y ai pas du tout touché Je me demande si je vais me concentrer sur les problèmes C et D qui n'ont plus été résolus.

Un problème

	private void solveA() {
		String s = next();

		out.println(s + "s");
	}

Problème B

	private void solveB() {
		int res = 0;
		for (int i = 0; i < 12; i++) {
			String s = next();
			int cnt = s.indexOf("r");
			if (cnt >= 0) {
				res++;
			}
		}
		out.println(res);
	}

Problème C

«La solution alternative était une perte de mémoire et je sentais qu'elle était lente, alors je l'ai réécrite, mais elle n'a pas changé. .. ..

	private void solveC() {
		int numN = nextInt();
		saikiC(numN, "");
	}

	private void saikiC(int n, String s) {
		if (n == 0) {
			out.println(s);
			return;
		}

		for (int i = 0; i < 3; i++) {
			switch (i) {
			case 0:
				saikiC(n - 1, s + "a");
				break;
			case 1:
				saikiC(n - 1, s + "b");
				break;
			case 2:
				saikiC(n - 1, s + "c");
				break;
			default:
				break;
			}
		}

	}

Problème C: une autre solution

	private void solveC2() {
		int numN = nextInt();

		Set<String> wk = new TreeSet<String>();
		printC2(numN, 1, 1, "", wk);
		printC2(numN, 1, 2, "", wk);
		printC2(numN, 1, 3, "", wk);
		for (String string : wk) {
			out.println(string);
		}
	}

	private void printC2(int n, int current, int index, String s, Set<String> wk) {
		if (current > n) {
			wk.add(s);
			return;
		}
		String tmp = s;
		switch (index) {
		case 1:
			tmp = tmp + "a";
			break;
		case 2:
			tmp = tmp + "b";
			break;
		case 3:
			tmp = tmp + "c";
			break;

		default:
			break;
		}
		printC2(n, current + 1, 1, tmp, wk);
		printC2(n, current + 1, 2, tmp, wk);
		printC2(n, current + 1, 3, tmp, wk);

	}

Recommended Posts

ABC --013-A et B et C
ABC --023 --A & B & C
ABC --036-A et B et C
ABC --010 --A & B & C
ABC --028 --A & B & C
ABC --015 --A & B & C
ABC --128 --A & B & C
ABC --012-A et B et C
ABC --018 --A & B & C
ABC --054 --A & B & C
ABC --017 --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 et B et 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 --129- A & B & C & D
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
Concours de programmation diverta 2019 A & B & C & D
AtCoder Beginner Contest 169 A, B, C avec rubis
Problème atcoder ABC113 C
problème atcoder ABC115 C
AtCoder Beginner Contest 170 A, B, C jusqu'au rubis
Faire un appel SOAP en C #
Appeler les fonctions du langage C depuis Swift
NLP4J [006-034] 100 coups de traitement de langage avec NLP4J # 34 "A B"