Posted
on 2009-11-29, 8:16 오후,
by Gilchris,
under
생각.
얼마전부터 트위터를 살짝(^^;)하고 있는데, 그저 10여분 정도만 fallow하고 있는데도 글이 너무 많아 못읽는 상황이 자주 발생했다. 속으로만 다들 어떻게 그 많은 글들을 보고 있나 싶었는데, 오늘 우연히 방통대 학보에서 트위터에 관한 기사를 읽어보고 해답을 얻을 수 있었다.
기사 안에서 어떤 학우 분이 말씀하시길… 트위터를 라디오처럼 받아들여야 한다는 것이다. 라디오처럼 한 번 지나간 내용에 연연해 하지 말고 새 내용만 보면 된다는 거다. 아하…
그 얘길 듣고 나니 그 동안 트위터에서 괜히 진지하게 다른 분들 글을 모두 보려고 했던 것 같았다. 그냥 가볍게 읽으면 되는 것을 말이다.
앞으로는 가볍게 보고 지나쳐야 겠다. 그런데 난 어차피 다른 분들과 의견 교환을 하는 것도 아니고 그냥 듣기만 했었던 건데 뭐가 그렇게 심각했던걸까? ㅋ
Posted
on 2009-10-29, 11:19 오후,
by Gilchris,
under
생각.
추석 연휴 끝나갈 때 쯤부터 갑자기 공유기가 동작을 안하기 시작했다.
그냥 당장은 예전에 쓰던 공유기를 쓰고, 동작을 안하는 무선 공유기는 빼놓고 지냈다.
항상 마음으로는 고쳐야지 하고 날짜만 보내다가 얼마전에서야 공유기 회사에 고장 문의 전화를 했더니 공유기를 택배로 보내라 했다.
그런데 이야기 중 다른 부분은 이유를 알겠는데 아답터를 같이 보내라는 이유를 모르겠는거다.
아니, 분명 자기들 제품인데 남는 아답터가 없을 리는 없을 것이고… 같은 모델도 제품에 따라 다른 아답터를 쓰기도 하나… 내가 아답터 고장인 걸 제품 고장이라 했을까 싶어서 그런가…
이런 저런 여러 가지 생각을 하다가 인터넷에서 찾아보니 쓰던 아답터가 공유기에 안 맞는 것이었다. ;;;
어…어라??
곰곰히 생각해보니 예전에 공유기를 처음 쓸 때, 쓰던 아답터를 썼더니 그냥 동작하길래 그냥 뒀던 기억이…. 헉.. ;;
호..혹시 내가 다른 아답터 써서 고장냈나??
어쨌거나 택배를 보내야 하겠기에 공유기 원래 아답터를 찾았는데, 아무리 찾아도 보이질 않았다. -_-;;
결국 인터넷으로 새로 아답터를 주문했고.. ㅜㅡ
새 아답터를 가져다가 일단 한 번 제대로 맞는 아답터로 끼워보자.. 해서 새로 산 아답터를 공유기에 꽃았더니!!!
잘 동작하더라…. ㅠㅠ
기분이 좋긴 한데… 공유기 회사에 귀찮게 문의한 것 같아 미안하기도 하고… 결국 대부분의 문제는 사용자에게 있다는 점을 다시 한 번 느꼈다… -_-;;
그리고,
왜 공유기 회사에서 아답터를 굳이 같이 보내라고 했는 지도 알았다. ;;;;
Posted
on 2009-10-14, 12:25 오전,
by Gilchris,
under
프로그래밍.
요즘 살짝 살짝 C++ 공부를 하고 있다. -_-a
그래서, 팀원들과 스터디 건도 있고 해서 acm 하나씩 풀어보기로 했다.
오늘은 대망의 첫 번째, 3n+1.
구현 자체는 별거 없고, 3초 제한시간 때문에 동적 프로그래밍(dynamic programming)을 써야 한다는 것만 신경쓰면 된다. 그 외에는 i보다 j가 작을 수도 있다는 것, 그리고 i보다 j가 작아도 i와 j의 출력 순서는 바뀌면 안된다는 함정-_-만 조심하면 된다. (이 함정 때문에 계속 wrong answer가 나와서 당황했다.)
#include <iostream>
#include <map>
using namespace std;
int main()
{
unsigned long max, i, j, n, cnt, tmp;
map <unsigned long, unsigned long> preCalculatedMax;
while (cin >> i >> j, !cin.eof())
{
cout << i << " " << j << " ";
if (i > j)
{
tmp = i;
i = j;
j = tmp;
}
max = 0;
for (n = i; n <= j; n++)
{
tmp = n;
cnt = 1;
while (tmp > 1)
{
if (preCalculatedMax[tmp] > 0)
{
cnt += preCalculatedMax[tmp];
break;
}
else
{
tmp = (tmp%2) * (3*tmp+1) + (1-tmp%2) * (tmp/2);
cnt++;
}
}
preCalculatedMax[n] = cnt - 1;
if (cnt > max)
max = cnt;
}
cout << max << endl;
}
return 0;
}