作者myjackchen (哥)
站內Programming
標題[請益] 一個簡單題卻...
時間Fri Oct 14 13:47:38 2011
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
1F:→ priv:為了玩這個第一次用codeforce 140.113.23.102 10/14 15:46
2F:→ priv:我發現他stdin和我想得不一樣 140.113.23.102 10/14 15:46
3F:→ priv:要用unix的\n寫成text file然後用<餵 140.113.23.102 10/14 15:46
4F:→ priv:一開始一直寫成cr/lf compatible一直印亂碼XD 140.113.23.102 10/14 15:47
5F:→ priv:你的作法flush完所有的輸入都會被flush掉 140.113.23.102 10/14 15:47
6F:→ priv:所以不是optimize的問題,再改一下吧 140.113.23.102 10/14 15:48
7F:推 bemyself:我試試看^^140.112.243.180 10/14 19:27
8F:推 bemyself:成功了!!設一個char c吃收num時鍵入的\n!140.112.243.180 10/14 19:34
9F:→ lantw44:fflush(stdin);只能用在 DOS/Windows 123.204.44.162 10/15 15:52
10F:推 priv:他有vc++可以選,主要還是輸入方式的差別 1.200.15.73 10/15 19:46
11F:→ onlyeric23:while那邊 直接用scanf 180.177.41.177 10/16 19:41
12F:推 s864372002:lan的觀念不對啊,跟OS無關,fflush是175.180.241.220 10/16 20:04
13F:→ s864372002:把buffer裡面的東西強迫flush掉。175.180.241.220 10/16 20:05
14F:推 bemyself:有學到東西!!140.112.243.180 10/17 03:35
15F:推 legnaleurc:... fflush 不能用在 stdin 114.37.48.95 10/17 04:00
16F:→ legnaleurc:那是 VC 的 extension 114.37.48.95 10/17 04:01