同济ACM上的两道入门题,用例子测试是正确的.但是却报告Wrong Answer
同济上的两道题
测试地址http://acm.tongji.edu.cn/problem.php
给的测试都对了。可是老是说Wrong Answer。请大虾帮忙看下.谢谢
******************************************************
我想问的是我的代码错在哪里,而不是要正确答案.
正确答案网上找的到.谢谢各位大虾先~
*******************************************************
蛇行矩阵 1009
#include <iostream.h>
int main()
{
int max;
cin>>max;
int p[100][100];
int i,j;
p[0][0]=1;
for(i=1;i<max;i++)
p[i][0]=p[i-1][0]+i;
for(i=0;i<max;i++)
for(j=1;j<max-i;j++)
{
p[i][j]=p[i][j-1]+j+i+1;
}
for(i=0;i<max;i++)
{ for(j=0;j<max-i;j++)
{
cout<<p[i][j];
if(j<max-i-1)
cout<<" ";
}
cout<<endl;
}
return 0;
}
敲七 1006
#include <iostream.h>
int PD(unsigned int x)
{
unsigned int i;
i=x;
if(i>=7)
{
if(i%7==0)
return 1;
else if(i%10==7)
return 1;
else
{
if(x%10==0)
if(PD(i/10))
return 1;
}
}
return 0;
}
int main()
{
unsigned int input,i;
cin>>input;
for(i=input;i>=7;i--)
if(PD(i)) cout<<i<<endl;
return 0;
}
问题点数:45、回复次数:5Top
1 楼syy6()回复于 2006-05-03 14:26:34 得分 1
不知道。
看来楼上是校友。Top
2 楼A_B_C_ABC(黄瓜@YouCanDoIt)回复于 2006-05-03 19:48:25 得分 20
蛇行矩阵 1009
============
从下载的示例程序看,应该输入多组数据,而你的只能测试一个数据,程序就退出了。
我只在你的程序上加了个循环,测试就返回Accepted
#include <iostream.h>
int main()
{
int max;
while(cin>>max)
{
int p[100][100];
int i,j;
p[0][0]=1;
for(i=1;i<max;i++)
p[i][0]=p[i-1][0]+i;
for(i=0;i<max;i++)
for(j=1;j<max-i;j++)
{
p[i][j]=p[i][j-1]+j+i+1;
}
for(i=0;i<max;i++)
{ for(j=0;j<max-i;j++)
{
cout<<p[i][j];
if(j<max-i-1)
cout<<' ';
}
cout<<endl;
}
}
return 0;
}Top
3 楼A_B_C_ABC(黄瓜@YouCanDoIt)回复于 2006-05-03 19:57:15 得分 14
敲七 1006
=========
你的程序,当输入77时,不显示71,72,73,74,75,76Top
4 楼braveconf()回复于 2006-05-03 21:12:27 得分 10
else
{
if(x%10==0)
if(PD(i/10))
return 1;
}
这里错了Top
5 楼Azure_ceil(天蓝)回复于 2006-05-03 22:35:27 得分 0
黄瓜兄,谢谢 ~
你到下面的贴子也留个言.我把那40分也给你~
http://community.csdn.net/Expert/topic/4728/4728198.xml?temp=.1958429
#include <iostream>
using namespace std;
int PD(unsigned int x)
{
unsigned int i;
i=x;
if(i>=7)
{
if(i%7==0)
return 1;
// else if(i%10==7)
// return 1;
int temp=i;
while(temp>6)
{
if(temp%10==7)
{
return 1;
}
temp/=10;
}
//else
//{
// if(PD(i/10))
// return 1;
//}
}
return 0;
}
int main()
{
unsigned int input,i;
cin>>input;
for(i=1;i<=input;i++)
if(PD(i)) cout<<i<<endl;
cin>>input;
return 0;
}
我用注释部分也过不了程序.赫赫..Top




