讨论 / C语言怎么定义int64?
柳暗花明 2013-08-04 23:26:00
点我顶贴 收藏 删除
我用long long,long long int,都定义过了,输出用"%lld",结果还是一样错!怎么回事?不让C语言过啦?求解释。

状态: Unaccepted

测评机: Xeond[6]

得分: 60分

提交日期: 2013-8-4 15:10:00

有效耗时: 405毫秒

测试结果1: 通过本测试点|有效耗时156ms

测试结果2: 通过本测试点|有效耗时47ms

测试结果3: 测试结果错误.错误结果为:642789722 正确结果应为:56477364570

测试结果4: 测试结果错误.错误结果为:-2091005866 正确结果应为:2203961430

测试结果5: 通过本测试点|有效耗时47ms

测试结果6: 通过本测试点|有效耗时46ms

测试结果7: 通过本测试点|有效耗时47ms

测试结果8: 测试结果错误.错误结果为:642789722 正确结果应为:56477364570

测试结果9: 测试结果错误.错误结果为:-2091005866 正确结果应为:2203961430

测试结果10: 通过本测试点|有效耗时62ms

/*

* http://www.rqnoj.cn/Problem_69.html

* 题目:过河卒

* 完成时间:70min(借鉴书上的边界处理内容)

*/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

void main()

{

int n,m,x,y;

int i,j,k;

int horse_x[9] = {0,1,1,-1,-1,2,2,-2,-2};

int horse_y[9] = {0,2,-2,2,-2,1,-1,1,-1};

scanf("%d %d %d %d",&n,&m,&x,&y);

n++,m++;

/* 初始化棋盘 */

int chess[30][30];

for(i=0;i<n;i++)

for(j=0;j<m;j++)

chess[i][j] = 0;

/* 标志马的控制点 */

for(i=0;i<9;i++)

{

int xx = x+horse_x[i],yy = y+horse_y[i];

if(xx >= 0 && xx < n && yy >= 0 && yy < m) chess[xx][yy] = 1;

}

long long f[30][30];

f[0][0] = 1;

for(i=1;i<n;i++)

{

if(chess[i][0] == 0)

f[i][0] = f[i-1][0];

}

for(j=1;j<m;j++)

{

if(chess[0][j] == 0)

f[0][j] = f[0][j-1];

}

for(i=1;i<n;i++)

{

for(j=1;j<m;j++)

{

if(chess[i][j])

{

f[i][j] = 0;

}

else

{

f[i][j] = f[i-1][j] + f[i][j-1];

}

}

}

printf("%lld",f[n-1][m-1]);

}

#1 absi2011@2013-08-04 03:41:00
回复 删除
I64d呢?

也许RQ是用Windows的?

#2 柳暗花明@2013-08-04 05:30:00
回复 删除
回复 沙发absi2011 的帖子

是i64d?还是l64d?我用l64d错了。

#3 absi2011@2013-08-04 06:21:00
回复 删除
回复 板凳柳暗花明 的帖子

你用C++试试?

前面加个

#include<iostream>

输出换成

std::cout<<f[n-1][m-1]<<"\n";

要没问题就说明你的输出部分有错...那我不知道怎么办了

要有问题说明你输出以前就有错

#4 absi2011@2013-08-04 06:22:00
回复 删除
对了int main()....

RT,这里要改下,然后还有return 0;加上,不然会CE

#5 柳暗花明@2013-08-04 23:25:00
回复 删除
回复 地板absi2011 的帖子

C语言不retrn 0;不会CE,C++才CE。从今开始用C++了

#6 柳暗花明@2013-08-04 23:26:00
回复 删除
回复 地毯absi2011 的帖子

用C++的cout以后就AC了,感谢感谢!

#7 Minecraft 8.8.8@2013-12-01 02:28:31
回复 删除
回复 #5 柳暗花明:拜托老兄,我刚刚提交一道题,用C++,就是没加return 0,可就是AC了。这说明C++也可以不加return 0。
查看更多回复
提交回复