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); } } }