#8361: WA 求解


hgtr (酷酷)

學校 : 國立臺灣大學
編號 : 29255
來源 : [140.112.42.150]
最後登入時間 :
2014-03-22 20:54:13
a005. Eva 的回家作業 -- POJ | From: [140.112.42.150] | 發表日期 : 2013-11-09 14:54

#include <iostream>
using namespace std ;
int main() 
{
int num , a , b , c , d , e , ba , cb , dc ,h, k;
cin>>num;
for (k=1; k<num ; k++)
{
while (cin >> a >> b >> c >> d)
{
ba = b-a ;
cb = c-b ;
dc = d-c ;
h = d/c ; 
if (  ba== cb == dc )
cout<< a <<" "<< b <<" "<< c <<" "<< d <<" "<< d+ba <<endl ; 
}
else
{
cout << a <<" "<< b <<" "<< c <<" "<< d <<" "<< d*h <<" "<<endl;
}
}
}
}
 
#8362: Re:WA 求解


kof000 (kof000)

學校 : 不指定學校
編號 : 37144
來源 : [1.163.193.67]
最後登入時間 :
2013-11-10 12:09:36
a005. Eva 的回家作業 -- POJ | From: [1.163.193.67] | 發表日期 : 2013-11-09 23:54

if (  ba== cb == dc ) 有問題

 ba==cb==dc事實上是

(ba==cb)==dc

 

而 (ba==cb)出來是布林值 轉型成整數不是0就是1

所以會變成 if(1==dc)或是if(0==dc)

跟您想像要做的事不一樣

 
ZeroJudge Forum