fork download
  1. #include <iostream>
  2.  
  3. #include <string>
  4.  
  5. #define _USE_MATH_DEFINES
  6.  
  7. #include <math.h>
  8.  
  9. void f(std::string str){
  10.  
  11. int i;
  12.  
  13. int l=str.length();
  14.  
  15. int r=l/M_PI/2.0*2.3;
  16.  
  17. int w=r*2+2;
  18.  
  19. std::string buf;
  20.  
  21. buf.assign(w*w*2,(" ")[0]);
  22.  
  23. for(i=0;i<l;i++){
  24.  
  25. float x=r+r*cos(i*M_PI*2.0/l-M_PI/2);
  26.  
  27. float y=r+r*sin(i*M_PI*2.0/l-M_PI/2);
  28.  
  29. buf[(int)(((w+w*((int)y))+(1+x))*2)]=str[i];
  30.  
  31. }
  32.  
  33. for(i=0;i<w;i++){
  34.  
  35. std::cout<<buf.substr(w*i*2,w*2)<<std::endl;
  36.  
  37. }
  38.  
  39. }
  40.  
  41. int main(){
  42.  
  43. f(std::string("c123456789ab"));
  44.  
  45. f(std::string("0123456789qawsedrftgyhujikolp"));
  46.  
  47. return 0;
  48.  
  49. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
                    
      b   c   1     
                    
   a            2   
                    
  9               3 
                    
   8            4   
      7       5     
          6         
                                            
             l   p    0   1   2             
                                            
         o                        3         
      k                              4      
                                            
    i                                  5    
                                            
  j                                      6  
                                            
  u                                      7  
                                            
  h                                      8  
                                            
   y                                    9   
                                            
     g                                q     
                                            
        t                          a        
           f                    w           
               r   d    e   s