| ||||||||||
| 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