저녁 9시에 열렸던 매치.. 이번에도 간신히 한문제 풀었다.. 250점 같은경우는 매우 쉬운문제인데.. 문제해석이 오래걸려서 고생했다.. 500점도 거의 풀수있었는데.. 막판에 시간이 모잘라서 submit조차 못해보았다.. 덕분에 rating은 하락..! 간신히 2군 강등은 모면했다..

방 17등 전체 468등..


사용자 삽입 이미지



[250] ApproximateDivision

input으로 a, b, terms 가 주어진다.. a/b를 문제에서 주어진 수식을 통하여 approx 하는데.. terms 만큼의 term으로 나타냈을때 결과가 얼마인지 구하는 문제.. t는 power of 2 중에서 b보다 같거나 큰 수 중 가장 작은수이다..

그냥 시키는데로 하면 되는 문제.. 우선 t를 구하고.. c = t - b 를 이용하여 c를 구하고.. terms 만큼 loop를 돌면서 구하면 된다..

  1 #include <iostream>
  2 #include <cstdio>
  3 #include <algorithm>
  4 #include <vector>
  5 #include <string>
  6 #include <cmath>
  7 using namespace std;
  8
  9 class ApproximateDivision {
 10 public:
 11
 12 double quotient(int a, int b, int terms)
 13 {
 14     int t, c, i;
 15     double x;
 16     for (i = 0; ; i++) {
 17         if ((1 << i) >= b)
 18             break;
 19     }
 20     t = (1<<i);
 21     c = t-b;
 22     x = 0.0;
 23     for (i = 1; i <= terms; i++) {
 24         x += (pow((double)c, (double)(i-1)) / pow((double)t, (double)i));
 25     }
 26     x *= a;
 27 printf("x = %lf..\n", x);
 28     return x;
 29 }
 30
 31 };





[500] GuitarChords

12개의 note가 있고, input으로 string과 chord가 주어진다.. string을 모두 이용하여 chord를 연주해야한다..  i'th fret을 누른상태에서 string을 누르면 해당 string의 i번째 상위 note가 연주된다.. 나올수있는 i의 최대값과 최소값의 차이를 최소화하는 문제..

우선.. 나는 기타를 전혀 모르기때문에.. 문제 해석하느라 열라 짜증났다.. 젠장!!! 이런문제 싫어!!!!

처음에 무슨 matching 문제인가.. 생각하다가 input의 개수가 최대 6인것을 보고.. 그냥 backtracking으로 모든 stirng과 chord의 조합을 다 구했다.. 그 조합에 대해서 high fret과 low fret의 차이를 구하고자 했는데.. 실패했다.. 막판에 거의 다 코딩은했는데.. 케이스하나가 안나와서 고민하다가 끝나버렸다.. 흐미.. 나중에 케이스를 확인해본 결과.. 생각하지못한 부분이 있었다.. 이 문제는 내가 생각했던것보다 tricky한 문제..

to be updated..




[1000] LittleSquares




to be updated..


 

'Problem Solving > TopCoder logs' 카테고리의 다른 글

TopCoder SRM 391 Div1  (0) 2008.02.27
TopCoder TCO08 Online Round 1  (2) 2008.02.17
TopCoder TCO08 Qualification Round 3(3A)  (0) 2008.02.15
TopCoder TCO08 Qualification Round 1  (4) 2008.02.06
TopCoder SRM 390 Div1  (2) 2008.02.03
TopCoder SRM 388 Div1  (2) 2008.01.16
TopCoder SRM 387 Div1  (4) 2008.01.10
TopCoder SRM 386 Div 2  (4) 2008.01.06
TopCoder SRM 385 Div2 (완료)  (4) 2007.12.30
TopCoder SRM 384 Div2 (완료)  (2) 2007.12.20

to Top