Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- int k;
- scanf("%d",&k);
- char input[1010];
- scanf("%s",input);
- if(k == 1){
- printf("%s",input);
- return 0;
- }
- int len = strlen(input);
- if(k >= len){
- for(int i=len-1;i>=0;i--){
- printf("%c",input[i]);
- }
- return 0;
- }
- char ans[1010];for(int i=0;i<1010;i++)ans[i] = '\0';
- int indextop = k-1;
- int indexinput = 0;
- while(indextop < len){
- for(int i=0;i<k;i++){
- if(indextop + i < len)ans[indextop + i] = input[indexinput++];
- }
- indextop += (4*(k-1));// + (k-2))
- }
- for(int i = 1 ; i <= k - 2 ; i ++){
- int indexmid = k - i - 1;
- int cnt = 0;
- while(indexmid < len){
- ans[indexmid] = input[indexinput++];
- cnt++;
- if(cnt % 2 == 1){ //odd
- indexmid += k + (2 * (i - 1) ) + 1;
- }
- else{ //even
- indexmid += k + (2 * (k - 2 - i) ) + 1;
- }
- }
- }
- int i = 0;
- while(indexinput < len){
- while(ans[i] != '\0')i++;
- if(i < len)ans[i] = input[indexinput++];
- }
- printf("%s",ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment