MP3光标位置 _小易的升级之路
MP3光标位置
情况比较多,但是题不难,不要胆怯!!!
import java.util.*;
public class Main {
public static void MP3PlayerLow4(String str, int n) {
char[] ch = str.toCharArray();
int begin = 1, cur = 1; // 起始序号,当前歌曲序号
for (int i = 0; i < ch.length; i++) {
if (cur == 1 && ch[i] == 'U') { // 光标在第一首歌曲上时,按Up键光标
cur = n;
continue;
}
if (cur == n && ch[i] == 'D') { // 光标在最后一首歌曲时,按Down键光标
cur = 1;
continue;
}
if (ch[i] == 'U') {
cur -= 1;
}
if (ch[i] == 'D') {
cur += 1;
}
}
for (int i = 0; i < n; i++) {
if (i==0) {
System.out.print(begin);
}else{
System.out.print(" "+(begin+i));
}
}
System.out.println();
System.out.println(cur);
}
public static void MP3PlayerUp4(String str, int n) {
char[] ch = str.toCharArray();
int begin = 1, cur = 1; // 起始序号,当前歌曲序号
for (int i = 0; i < ch.length; i++) {
if (begin==1 && cur == 1 && ch[i] == 'U') { // 光标在第一页 ,第一首歌曲上时,按Up键光标
cur = n;
begin = n-3;
continue;
}
if (begin==n-3 && cur == n && ch[i] == 'D') { // 光标在最后一页,最后一首歌曲时,按Down键光标
cur = 1;
begin = 1;
continue;
}
if (ch[i] == 'U' && begin==cur ) { // 光标在非第一页,第一首歌曲时,按Up键后,从当前歌曲的上一首开始显示,光标也挪到上一首歌曲。
cur -= 1;
begin-= 1;
continue;
}
if (ch[i] == 'D' && begin+3==cur) {
cur += 1;
begin+= 1;
continue;
}
if(ch[i] == 'U'){
cur -= 1;
}else{
cur += 1;
}
}
System.out.println(begin + " " + (begin + 1) + " " + (begin + 2)+ " " + (begin + 3));
System.out.println(cur);
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNextInt()) {
int n = input.nextInt(); // 歌曲数量
String str = input.next(); // 操作序列
if (n<=4)
MP3PlayerLow4(str, n);
else
MP3PlayerUp4(str, n);
}
}
}
小易的升级之路
import java.util.*;
public class Main{
public static int gcd(int a,int b){
int tmp = 0;
while(a!=0){
tmp = b%a;
b = a;
a = tmp;
}
return b;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int a = sc.nextInt();
int[] array = new int[n];
int result = 0;
for(int i = 0;i<n;i++){
array[i] = sc.nextInt();
}
for(int i = 0;i<n;i++){
if(a>=array[i]){
a += array[i];
}else{
a += gcd(a,array[i]);
}
}
System.out.println(a);
}
}
}
查看14道真题和解析