我目前正在尝试解决UVA在线法官网站的问题688。我写了一个可以在我的平台上运行的代码,但该代码在网站上返回了运行时错误。我该如何解决?
我尝试将向量和new int都用于数组,因为这是我能想到的唯一可能的问题,但它们都不起作用。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, i, j, k, t=0, m=0;
float x, y, r;
int *a = new int[1000000];
while(cin>>n, n>0)
{
t=0;
for(i=0; i<n; i++)
{
cin>>x>>y>>r;
x*=10;
y*=10;
r*=10;
for(j=x-r; j<x+r; j++)
{
for(k=y-r; k<y+r; k++)
{
if(a[j*1000+k]<=m)
{
a[j*1000+k]=m+1;
t++;
}
}
}
}
cout<<++m<<" ";
cout<<setprecision(2)<<fixed;
cout<<(float)t/100<<endl;
}
delete[] a;
return 0;
}
问题是要计算可能重叠或不重叠的几个正方形所覆盖的总面积。我使用一个新的int系统为1000000个区域创建一个数组(这是问题的要求)。当我在自己的计算机上将0作为测试用例(如问题所述)输入时,它会提供正确的答案并停止,但在网站上会变成运行时错误。
答案 0 :(得分:0)
运行时错误主要是因为变量的数据类型及其用途。您正在为echo $obj->name;
echo $arr['name'];
分配一些float
变量并对其进行一些操作
此外,您应该考虑在需要时声明变量。