编程题
洗牌
import java.util.Scanner;
@SuppressWarnings({"all"})
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int groups = sc.nextInt();
for (int i = 0; i < groups; i++) {
int n = sc.nextInt();
int k = sc.nextInt();
int[] cards = new int[2 * n];
for (int j = 0; j < 2 * n; j++) {
cards[j] = sc.nextInt();
}
playCard(cards, n, k);
}
}
private static void playCard(int[] cards, int n, int k) {
for (int i = 0; i < k; i++) {
int[] newCards = new int[cards.length];
for (int j = 0; j < n; j++) {
newCards[2 * j] = cards[j];
newCards[2 * j + 1] = cards[j + n];
}
cards = newCards;
}
printCard(cards);
}
private static void printCard(int[] cards) {
for (int i = 0; i < cards.length - 1; i++) {
System.out.print(cards[i] + " ");
}
System.out.println(cards[cards.length - 1]);
}
}
MP3光标位置
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@SuppressWarnings({"all"})
public class Main {
private static void mouseMove(String numStr, String orderStr) {
int n = Integer.parseInt(numStr);
char[] order = orderStr.toCharArray();
int mouse = 1;
int first = 1;
if (n <= 4) {
for (int i = 0; i < order.length; i++) {
if (mouse == 1 && order[i] == 'U') {
mouse = n;
} else if (mouse == n && order[i] == 'D') {
mouse = 1;
} else if (order[i] == 'U') {
--mouse;
} else if (order[i] == 'D') {
++mouse;
}
}
for (int i = 1; i < n; i++) {
System.out.print(i + " ");
}
System.out.println(n);
System.out.println(mouse);
}
else {
for (int i = 0; i < order.length; i++) {
if (first == 1 && mouse == 1 && order[i] == 'U') {
first = n - 3;
mouse = n;
} else if (first == n - 3 && mouse == n && order[i] == 'D') {
first = 1;
mouse = 1;
} else if (first != 1 && mouse == first && order[i] == 'U') {
--mouse;
--first;
} else if (first != n - 3 && mouse == first + 3 && order[i] == 'D') {
++mouse;
++first;
} else if (order[i] == 'U') {
--mouse;
} else if (order[i] == 'D') {
++mouse;
}
}
for (int i = first; i < first + 3; i++) {
System.out.print(i + " ");
}
System.out.println(first + 3);
System.out.println(mouse);
}
}
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String numStr;
while ((numStr = reader.readLine()) != null) {
String orderStr = reader.readLine();
mouseMove(numStr, orderStr);
}
}
}