Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

AnEasyProblem/정진경: Difference between revisions

From ZeroWiki
imported>jereneal20
No edit summary
imported>joojis
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 2: Line 2:


=== Source Code ===
=== Source Code ===
  main(n,a,b){for(;a=b=scanf("%d",&n),n;printf("%d\n",n+a*b-b/2)){for(;a&~n;a*=2);for(;(b|a*b)&n;n+=b-a*b,b*=2);}}
  main(n,a){for(;a=scanf("%d",&n),n;printf("%d\n",n+a))for(;~n&a|n&a*2;a*=2)n^=n&a?n%a+1^a:0;}


// 164K 0MS C 112B
// 388K 0MS GCC 92B
 
main(n,a){for(;a=scanf("%d",&n)+~n&n;printf("%d\n",n+a|(n^n+a)/a/4));}
 
/// 70B


   
   
Line 44: Line 48:
** ㅋㅋㅋㅋㅋ지기 싫으셨나 그새 줄이셨네 - [[서지혜]]
** ㅋㅋㅋㅋㅋ지기 싫으셨나 그새 줄이셨네 - [[서지혜]]
*** joojis이(가) Kesarr을(를) 다시 한번 이겼다! 105B vs 107B.  http://joojis.jjme.net/aep.png
*** joojis이(가) Kesarr을(를) 다시 한번 이겼다! 105B vs 107B.  http://joojis.jjme.net/aep.png
*** 도대체 어떻게 코딩을 해야 107B 밖에 안되는 코드가 나오는거지?;;; ㄷㄷㄷ - [[윤종하]]
* joojis이(가) 73B에 도달했다!



Latest revision as of 11:44, 5 July 2011

Describe AnEasyProblem/정진경 here

Source Code

main(n,a){for(;a=scanf("%d",&n),n;printf("%d\n",n+a))for(;~n&a|n&a*2;a*=2)n^=n&a?n%a+1^a:0;}

// 388K 0MS GCC 92B

main(n,a){for(;a=scanf("%d",&n)+~n&n;printf("%d\n",n+a|(n^n+a)/a/4));}

/// 70B


(define (mod a b)
  (if (< a b)
      a
      (mod(- a b) b)
      )
  )

(define (quot a b)
  (/ (- a (mod a b)) b)
  )

(define (BitCount n)
  (if (< n 1)
      0
      (+ (BitCount (quot n 2)) (mod n 2))
      )
  )

(define (SearchBitN n m)
  (if (= n (BitCount m))
      m
      (SearchBitN n (+ m 1))
      )
  )

(define (AnEasyProblem n)
  (SearchBitN (BitCount n) (+ n 1))
  )

...

  • 첫번째 제출에 상콤하게 Accept! 나름 열심히 줄여본다고 코드를 줄여봤지만. 역시 갈 길이 머네요... -정진경
    • 자네, 만드는데 걸린 시간도 써보는게 어떻겠나.? -김태진
    • 담문제부턴 기억나면 체크해두도록 하지... 이건 기억이 안난다 아마 문제해석부터 처음 Accept까지 30분 조금 안됐을거임. 코드 줄이는건 짬짬이 해서 잘 모르겠당 -정진경
  • joojis이(가) Kesarr을(를) 이겼다!
  • joojis이(가) 73B에 도달했다!