最近做题发现ural的oj和国内的hdoj差别还是挺大的除了每个oj的说明之外,ural的oj还有几个特点。
1:对输出格式的限制非常宽松
这一点和杭电的差别很大,杭电oj有着严格的输出格式控制,但是ural的oj我发现最后多一个空格或者换行符也完全没有问题。杭电的经常碰见输出一组数据,前面都是两个数据之间都是空格,最后一个没有空格,所以最后一个就要单独输出。但是ural的可以将所有数据用一样的格式输出,最后多一个空格也无所谓。
2:测试数据是分别存放在不同文件的,所以你的代码可以直接当成一组数据处理就行。
例如简单的A+B代码在ural中可以这样提交
#include <stdio.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", a + b);
return 0;
}
但是在杭电你必须要一次处理到换行符
#include <stdio.h>
main()
{
int a, b;
while(scanf("%d%d", &a, &b) != EOF)
printf("%d\n", a + b);
}
就是说ural中可以不必用while(),当然ural两种形式都可以。poj也是两种都可以的,但是在杭电的就会WA,坑爹。
这样的另一个用处就是当成一