scanf("%d",&n); 을 쓴 경우 208ms 나오던 코드가
inline void getn(int& n)
{
n = 0;
int c;
do c = getchar(); while(c < '0' || c > '9');
do n = n * 10 + (c - '0'), c = getchar(); while(c >= '0' && c <= '9');
}
이걸 썼을 때 104ms 나온다.
scanf 는 역시 쓰레기.
scanf("%d",&n); 을 쓴 경우 208ms 나오던 코드가
inline void getn(int& n)
{
n = 0;
int c;
do c = getchar(); while(c < '0' || c > '9');
do n = n * 10 + (c - '0'), c = getchar(); while(c >= '0' && c <= '9');
}
이걸 썼을 때 104ms 나온다.
scanf 는 역시 쓰레기.
근데 뭘 써서 이렇게 깔끔하게 코드를 올리는 거임? 그냥 붙여넣기 하면 탭이 스페이스가 되는 거신데...
일일이 스페이스로 띄우고 폰트를 courier new 로 한건뎅.
헠 걍 노가다였군여
vc++ 에서 복붙 하면 예쁘게 나오긴하는데, 태그량이 많아져서 긴 코드를 못올려. ㅋㅋ
문자열 받을떈 그럼 gets가 더 좋음?
scanf 는 format string 안에 있는 format specifier 들의 갯수만큼 끌어오는 구조잖아.
그러니 당연히 느릴 수 밖에. %d 보단 %u 가 쬐끔 더 빠를테고 (음수처리 스킾할테니) 그리고 그 많은 옵션들 중의 하나인지 매칭하니까 조금 느릴수 밖에 없음.
스트링 하나 읽어 파싱하는 시간만큼 절약하는거지 뭐.
옘병 좆같은 문제 이제 품 ㅜㅜ