Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:[ Runtime Error ] 讨论区给的数据都通过了为啥还这样?大牛帮忙测测吧~In Reply To:[ Runtime Error ] 讨论区给的数据都通过了为啥还这样?大牛帮忙测测吧~ Posted by:15pengyi at 2010-05-23 23:24:15 > > #include <stdio.h> > #include <stdlib.h> > > #define MAX 1024 > > int absi(int x, int y) > { > return x > y ? x - y : y - x; > } > > int main() > { > int input[MAX] = {0}; > int output[MAX] = {0}; > int line; > scanf("%d", &line); > printf("%d\n", line); > while (line > 0) > { > for (int i = 0; i < line; i++) > { > input[i] = output[i] = -1; > } > > int value, length; > int col = 0, count = 0; > int previ = -1, prevo = -1, prevn = 1; > int pprevi = -1, pprevo = -1, pprevn = 1; > scanf("%d %d", &value, &length); > while (value + length > 0) > { > count = 0; > while (length > 0 && count < 2 * line + 2) > { > int tempo = -1, temp = -1; > if (input[col] == -1) > { > input[col] = value; > if (col > 0) > { > temp = absi(value, input[col - 1]); > output[col] = temp > output[col] ? temp : output[col]; > output[col - 1] = temp > output[col - 1] ? temp : output[col - 1]; > } > } > else > { > temp = absi(value, input[col]); > tempo = temp > tempo ? temp : tempo; > output[col] = temp > output[col] ? temp : output[col]; > > if (col > 0) > { > temp = absi(value, input[col - 1]); > tempo = temp > tempo ? temp : tempo; > output[col - 1] = temp > output[col - 1] ? temp : output[col - 1]; > } > > if (col < line - 1) > { > temp = absi(value, input[col + 1]); > tempo = temp > tempo ? temp : tempo; > output[col + 1] = temp > output[col + 1] ? temp : output[col + 1]; > } > > if (previ != -1 && col > 0) > { > temp = absi(value, previ); > tempo = temp > tempo ? temp : tempo; > prevo = temp > prevo ? temp : prevo; > } > > if (pprevo != -1) > { > if (prevo == pprevo) > { > prevn = pprevn + 1; > } > else > { > prevn = 1; > printf("%d %d\n", pprevo, pprevn); > } > } > pprevo = prevo; > pprevn = prevn; > > previ = input[col]; > prevo = output[col]; > > input[col] = value; > output[col] = tempo; > } > > col = (col + 1) % line; > length--; > count++; > } > > if (length > 0) > { > if (prevo == pprevo) > { > prevn = pprevn + length; > } > else > { > prevn = length; > printf("%d %d\n", pprevo, pprevn); > } > pprevo = prevo; > pprevn = prevn; > > col = (col + length) % line; > } > > scanf("%d %d", &value, &length); > } > > for (col = 0; col <= line; col++) > { > if (pprevo != -1) > { > if (prevo == pprevo) > { > prevn = pprevn + 1; > } > else > { > printf("%d %d\n", pprevo, pprevn); > prevn = 1; > } > } > pprevo = prevo; > pprevn = prevn; > > if (col < line) > { > previ = input[col]; > prevo = output[col]; > } > } > > pprevo = pprevo == -1 ? 0 : pprevo; > printf("%d %d\n", pprevo, pprevn); > printf("0 0\n"); > > scanf("%d", &line); > printf("%d\n", line); > } > > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator