看板 Programming 關於我們 聯絡資訊
codeforce的 71A http://codeforces.com/problemset/problem/71/A 我的程式短所以直接貼了 #include <stdlib.h> #include <stdio.h> int main(){ int num; scanf("%d",&num);fflush(stdin); char table[num][1000]; int i,j = 0; for(i=0;i<num;i++){ while((table[i][j++] = getchar()) != '\n'); table[i][j-1] = '\0'; if((j-1)>10){ printf("%c%d%c\n",table[i][0],j-3,table[i][j-2]); } else{ printf("%s\n",&table[i][0]); }j = 0; } return 0; } 第一個測資就time limit exceed 實在是...... 所以應該可以再優化 但我實在想不出來 所以上來請教各位了 -- ※ 發信站 :批踢踢實業坊(ptt.cc) ◆ From: 140.112.243.180
priv:為了玩這個第一次用codeforce 140.113.23.102 10/14 15:46
priv:我發現他stdin和我想得不一樣 140.113.23.102 10/14 15:46
priv:要用unix的\n寫成text file然後用<餵 140.113.23.102 10/14 15:46
priv:一開始一直寫成cr/lf compatible一直印亂碼XD 140.113.23.102 10/14 15:47
priv:你的作法flush完所有的輸入都會被flush掉 140.113.23.102 10/14 15:47
priv:所以不是optimize的問題,再改一下吧 140.113.23.102 10/14 15:48
bemyself:我試試看^^140.112.243.180 10/14 19:27
bemyself:成功了!!設一個char c吃收num時鍵入的\n!140.112.243.180 10/14 19:34
lantw44:fflush(stdin);只能用在 DOS/Windows 123.204.44.162 10/15 15:52
priv:他有vc++可以選,主要還是輸入方式的差別 1.200.15.73 10/15 19:46
onlyeric23:while那邊 直接用scanf 180.177.41.177 10/16 19:41
s864372002:lan的觀念不對啊,跟OS無關,fflush是175.180.241.220 10/16 20:04
s864372002:把buffer裡面的東西強迫flush掉。175.180.241.220 10/16 20:05
bemyself:有學到東西!!140.112.243.180 10/17 03:35
legnaleurc:... fflush 不能用在 stdin 114.37.48.95 10/17 04:00
legnaleurc:那是 VC 的 extension 114.37.48.95 10/17 04:01