AtCoder ABC 134 A&B&C&D&E AtCoder - 134
E / F est hors du temps ...
A - Dodecagon
private void solveA() {
int n = nextInt();
out.println(3 * n * n);
}
B - Golden Apple
/**
* 6 2
* 1 2 3 4 5 6
* - - ^ - -
* - - ^ - -
*
* 20 4
* 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
* - - - - ^ - - - -
* - - - - ^ - - - -
* - - - - ^ - - - -
*/
private void solveB() {
int n = nextInt();
int d = nextInt();
int d2 = 2 * d + 1;
int res = (n / d2) + ((n % d2) != 0 ? 1 : 0);
out.println(res);
}
C - Exception Handling
Sortir la valeur maximale ou la deuxième plus grande valeur J'ai copié la séquence et j'ai répondu. .. ..
private void solveC() {
int n = nextInt();
int[] wk = IntStream.range(0, n).map(i -> nextInt()).toArray();
int[] copy = Arrays.copyOf(wk, n);
Arrays.sort(copy);
int max = copy[n - 1];
for (int i : wk) {
if (i < max)
out.println(max);
else
out.println(copy[n - 2]);
}
}
D - Preparing Boxes
Au départ, il n'y a pas de balles dans toutes les cases. Les paires ou les bizarreries doivent correspondre pour chaque nombre. Il semble difficile de décider de l'avant, alors pourquoi ne pas décider de l'arrière? Mis en œuvre en pensant que. De l'arrière, il est facile de déterminer car il existe des valeurs numériques qui n'ont pas de multiples. Par exemple, dans l'exemple 1, la troisième valeur est déterminée en premier. Le troisième multiple, 6, n'existe pas, il peut donc être déterminé. Si vous décidez du premier, ne pouvez-vous pas décider 1,2,3 ...? Sentiment.
private void solveD() {
int n = nextInt();
int[] wk = IntStream.range(0, n).map(i -> nextInt()).toArray();
int cnt = 0;
int[] res = new int[n];
//Déterminé par derrière
for (int i = n; i > 0; i--) {
final int target = wk[i - 1];
int wkSum = 0;
//Comptez le nombre de balles multiples
for (int j = 2; (j * i - 1) < n; j++) {
wkSum += res[j * i - 1];
}
//Nombre pair
if (target != (wkSum % 2)) {
res[i - 1]++;
cnt++;
}
}
out.println(cnt);
if (cnt != 0) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < res.length; i++) {
if (res[i] != 0) {
builder.append(i + 1).append(" ");
}
}
out.println(builder.toString());
}
}
Recommended Posts