The Dreadful Seven hdu 2599 为何错啊 ?非常纠结的,难道测试数据里面没有ctrl + Z的。。
2010-05-16 09:51
447 查看
#include<iostream>//这个就wrong ,想不明白为何。。。比赛的时候在这个题目悲剧了!!
#include<cstdio>
#include<cstring>
using namespace std;
int dir[4][2] = {{-1 ,0}, {0, -1}, {0, 1}, {1 , 0}};
int main()
{
int n, i, j;
char str[20];
int map[105][105];
while(scanf("%d", &n) != EOF)//后来比赛后听说这里直接用%S 读入,就可以过了,是数字的话判断下
//while(1)
{
// memset(map, 0, sizeof(map));
// scanf("%d", &n);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%d", &map[i][j]);
while(scanf("%s", str) != EOF)
{
if(strcmp(str, "SHOW") == 0)
{
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
if(j == n - 1)
printf("%d", map[i][j]);
else
printf("%d ", map[i][j]);
}
printf("/n");
}
printf("/n");
continue;
}
else if(strcmp(str, "NEIGHBORS") == 0)
{
int tt;
scanf("%d", &tt);
//getchar();
int x, y;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
if(map[i][j] == tt)
{
x = i;
y = j;
break;
}
}
int x1, y1;
int count = 0;
int num[20];
for( i= 0; i < 4; i++)
{
x1 = x + dir[i][0];
y1 = y + dir[i][1];
if(x1 >= 0 && x1 < n && y1 >= 0 && y1 < n)
{
num[count++] = map[x1][y1];
//if(i != 3)
// printf("%d ",map[x1][y1]);//这里格式有错误
//else
//printf("%d/n",map[x1][y1]);
}
}
for(i = 0; i < count; i++)//这里PE了好久。。separated by spaces谢文策让我看的这句话
{
if(i != count - 1)
printf("%d ", num[i]);
else
printf("%d/n", num[i]);
}
//printf("/n");
}
}
}
}
AC code:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int dir[4][2] = {{-1 ,0}, {0, -1}, {0, 1}, {1 , 0}};
int main()
{
int n, i, j, x;
char str[20];
int map[105][105];
int x0, y0;
//while(scanf("%d", &n) != EOF)
//while(1)
while(scanf("%s", str) != EOF)
{
// memset(map, 0, sizeof(map));
// scanf("%d", &n);
if(str[0] >= '0' && str[0] <= '9')
{
n = 0;
for(i = 0; i < strlen(str); i++)
{
n = 10 * n + str[i] - '0';
}
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
scanf("%d", &map[i][j]);
if(map[i][j] == 0)
{
x0 = i;
y0 = j;
}
}
}
//while(scanf("%s", str) != EOF)
// {
else if(strcmp(str, "SHOW") == 0)
{
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
if(j == n - 1)
printf("%d", map[i][j]);
else
printf("%d ", map[i][j]);
}
printf("/n");
}
printf("/n");
continue;
}
else
//if(strcmp(str, "NEIGHBORS") == 0)
{
int tt;
scanf("%d", &tt);
//getchar();
int x, y;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
if(map[i][j] == tt)
{
x = i;
y = j;
break;
}
}
int x1, y1;
int num = 0;
int ss[10];
for( i= 0; i < 4; i++)
{
x1 = x + dir[i][0];
y1 = y + dir[i][1];
if(x1 >= 0 && x1 < n && y1 >= 0 && y1 < n)
{
ss[num++] = map[x1][y1];
// if(x1 == n - 1 || y1 == n - 1)
// printf("%d",map[x1][y1]);
// else
//printf("%d ",map[x1][y1]);
}
}
for(i = 0; i < num; i++)
if(i != num - 1)
printf("%d ", ss[i]);
else
printf("%d/n", ss[i]);
// }
}
}
}
#include<cstdio>
#include<cstring>
using namespace std;
int dir[4][2] = {{-1 ,0}, {0, -1}, {0, 1}, {1 , 0}};
int main()
{
int n, i, j;
char str[20];
int map[105][105];
while(scanf("%d", &n) != EOF)//后来比赛后听说这里直接用%S 读入,就可以过了,是数字的话判断下
//while(1)
{
// memset(map, 0, sizeof(map));
// scanf("%d", &n);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%d", &map[i][j]);
while(scanf("%s", str) != EOF)
{
if(strcmp(str, "SHOW") == 0)
{
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
if(j == n - 1)
printf("%d", map[i][j]);
else
printf("%d ", map[i][j]);
}
printf("/n");
}
printf("/n");
continue;
}
else if(strcmp(str, "NEIGHBORS") == 0)
{
int tt;
scanf("%d", &tt);
//getchar();
int x, y;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
if(map[i][j] == tt)
{
x = i;
y = j;
break;
}
}
int x1, y1;
int count = 0;
int num[20];
for( i= 0; i < 4; i++)
{
x1 = x + dir[i][0];
y1 = y + dir[i][1];
if(x1 >= 0 && x1 < n && y1 >= 0 && y1 < n)
{
num[count++] = map[x1][y1];
//if(i != 3)
// printf("%d ",map[x1][y1]);//这里格式有错误
//else
//printf("%d/n",map[x1][y1]);
}
}
for(i = 0; i < count; i++)//这里PE了好久。。separated by spaces谢文策让我看的这句话
{
if(i != count - 1)
printf("%d ", num[i]);
else
printf("%d/n", num[i]);
}
//printf("/n");
}
}
}
}
AC code:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int dir[4][2] = {{-1 ,0}, {0, -1}, {0, 1}, {1 , 0}};
int main()
{
int n, i, j, x;
char str[20];
int map[105][105];
int x0, y0;
//while(scanf("%d", &n) != EOF)
//while(1)
while(scanf("%s", str) != EOF)
{
// memset(map, 0, sizeof(map));
// scanf("%d", &n);
if(str[0] >= '0' && str[0] <= '9')
{
n = 0;
for(i = 0; i < strlen(str); i++)
{
n = 10 * n + str[i] - '0';
}
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
scanf("%d", &map[i][j]);
if(map[i][j] == 0)
{
x0 = i;
y0 = j;
}
}
}
//while(scanf("%s", str) != EOF)
// {
else if(strcmp(str, "SHOW") == 0)
{
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
if(j == n - 1)
printf("%d", map[i][j]);
else
printf("%d ", map[i][j]);
}
printf("/n");
}
printf("/n");
continue;
}
else
//if(strcmp(str, "NEIGHBORS") == 0)
{
int tt;
scanf("%d", &tt);
//getchar();
int x, y;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
if(map[i][j] == tt)
{
x = i;
y = j;
break;
}
}
int x1, y1;
int num = 0;
int ss[10];
for( i= 0; i < 4; i++)
{
x1 = x + dir[i][0];
y1 = y + dir[i][1];
if(x1 >= 0 && x1 < n && y1 >= 0 && y1 < n)
{
ss[num++] = map[x1][y1];
// if(x1 == n - 1 || y1 == n - 1)
// printf("%d",map[x1][y1]);
// else
//printf("%d ",map[x1][y1]);
}
}
for(i = 0; i < num; i++)
if(i != num - 1)
printf("%d ", ss[i]);
else
printf("%d/n", ss[i]);
// }
}
}
}
相关文章推荐
- VS里面按键盘"Ctrl+F" 或者选 编辑 菜单里面的 查找和替换 也没有对话框弹出来 问题解决。
- 如何在没有导入excel的情况下获取excel中的测试数据
- datagrid的列非常多的时候,而且没有表格数据,横向滚动条不会显示
- (自己测试没有问题)解决git clone时报错:The requested URL returned error: 401 Unauthorized while accessing
- 为什么最近我不能在我自己的日志里面发表评论呢?点发表没有反应,请大家帮我测试一下看看能否发!
- django程序没有问题,保存远地测试数据库,save没问题,控制台也显示update成功,但是在数据库检索数据没有存进去
- Android里面的service方法为何没有加同步机制
- jmeter分布式测试,控制机没有返回测试数据的原因
- jmeter 非GUI执行测试,导入jtl文件没有响应数据出来办法
- Winter-2-STL-C Where is the Marble? 解题报告及测试数据
- Sql Server展示树级结构数据,类似ORCAL中的Start With的效果,测试非常有效
- 测试环境运行正常的SQL到生产上奇慢无比,最终导致UI访问超时;确定SQL效率无问题,那么就极有可能使生产环境的表数据量较大而且没有做分析。
- caffe自带examples里面的数据的训练以及测试
- 问题:C#打开一个文本文档往里面写数据,没有就新建文档 ;结果:c#FileStream文件读写(转)
- JdbcTemplate RowMapper没有把返回的数据填充到POJO里面
- HDU-3337 Guess the number 测试输入数据
- Winter-2-STL-D The Blocks Problem 解题报告及测试数据
- [求解]在debug模式下程序正常运行(多次测试),运行模式下(正确数据)时常会抛异常,抛异常后事务也没有阻止,而继续执行操作?
- 为何我的RichTextBox没有Ctrl+C等功能呢
- 刚测试了一下finsh命令:list_thread(),怎么输出的是Null node,没有显示出手册里面提到的系统线程当前状态