文章标题

来源:互联网 发布:电子票务软件 编辑:程序博客网 时间:2024/05/12 06:14

题目:给你一个字符串str ,从1 开始长度为s,每次给你一个 a[i] ,然后将 [ a[i] , (s-a[i]+1) ] 区间内的字符串翻转,问你经过n次操作以后整个字符串是什么样的。
*input
abcdef
1
2
output
aedcbf
input
vwxyz
2
2 2
output
vwxyz
input
abcdef
3
1 2 3
output
fbdcea*

import java.util.Scanner;public class B525 {void solve(){    Scanner sc=new Scanner(System.in);    char str[]=sc.nextLine().toCharArray();    int m=sc.nextInt();    int[] arr=new int[str.length];//与字符串长度一样    for(int i=0;i<m;i++){//         int a=sc.nextInt()-1;        arr[a]+=1;//记录交换位置出现的次数    }    for(int i=0;i<arr.length-1;i++){        if(arr[i]%2==1){            for(int j=i;j<=str.length/2-1;j++){                char temp=str[j];                str[j]=str[str.length-j-1];                str[str.length-j-1]=temp;            }        }    }    System.out.println(str);}void swap(char[] arr,int a,int b){    for(int i=a;i<=b;i++){        char temp=arr[i];        arr[i]=arr[arr.length-i-1];        arr[arr.length-i-1]=temp;    }}public static void main(String[] args){    new B525().solve();}}

以上代码运行超时

题目链接:http://codeforces.com/contest/525/problem/B

0 0
原创粉丝点击