fork download
  1. #include <stdio.h>
  2. struct numbers{int x; int y;};
  3.  
  4. struct numbers gcd(int a, int b){
  5. struct numbers rt;
  6.  
  7. if(a*b==0){
  8. rt.x=-1;
  9. rt.y=a+b;
  10. return rt;
  11. }
  12. rt.x=a/b+gcd(b,a%b).x;
  13. rt.y=gcd(b,a%b).y;
  14. return rt;
  15. }
  16.  
  17. str(int a, int b){
  18. //printf("%d, %d\n",a,b);
  19. if(a==b)
  20. return 0;//문자열의 끝이므로 0
  21.  
  22. else if(a>b){
  23. printf("R");//R이 와야 한다.
  24. str(a-b,b);
  25. }
  26. else{
  27. printf("U");//U가 와야 한다.
  28. str(a,b-a);
  29. }
  30.  
  31. }
  32.  
  33. int calc(int t1, int t2) {
  34. int n=t1;
  35. int m=t2;
  36. int ans1=0;
  37. int ans2=0;
  38. int strr=0;
  39.  
  40.  
  41. for(int i=1;i<n/2;i++){
  42. if(gcd(n-i,i).y==1){
  43. if(gcd(n-i,i).x<=m){
  44. ans1=i;
  45. ans2=n-i;
  46. }
  47. }
  48. }
  49.  
  50. str(ans1,ans2);
  51. printf("\n");
  52. //printf("\n%d\n%d\n",ans1,ans2);
  53.  
  54. // your code goes here
  55. }
  56.  
  57. int main(void){
  58. /* calc(100,9);
  59. calc(1000,14);
  60. calc(10000,20);*/
  61. //calc(100000,24);
  62. calc(999999,29);
  63. //calc(20200101,36);
  64.  
  65. return 0;
  66. }
  67.  
  68.  
Time limit exceeded #stdin #stdout 5s 4476KB
stdin
Standard input is empty
stdout
Standard output is empty