#12511: 我的算法是哪裡出錯了


a14259a (闇影弒魂)

學校 : 新北市立新店高級中學
編號 : 22544
來源 : [1.169.153.76]
最後登入時間 :
2021-05-25 21:17:52
b540. 這個六邊形,看完後我都驚呆了 -- 104學年度板橋高中校內資訊學科能力競賽(二)Codeforces560C | From: [211.75.3.43] | 發表日期 : 2017-08-04 15:30

 

#include<iostream>
using namespace std;


int main()
{

int i, ans , triangle ;
int a[6];
while(cin>>a[0]){
ans=0;
triangle=0;
for (i = 1; i < 6; i++)
{
cin>>a[i];
}
ans += a[0] * (a[4] + a[5]) * 2 + (a[4] + a[5]) * a[1] * 2;
for (i = 1; i <= a[4]; i++)
{
triangle += i + triangle;
}
ans -= triangle;
triangle = 0;
for (i = 1; i <= a[1]; i++)
{
triangle += i + triangle;
}
ans -= triangle;
cout<<ans<<endl;
}
return 0;
}

把六邊形拆一半並補成平行四邊形

最後在減去多的三角形

 

 
#12512: Re:我的算法是哪裡出錯了


a14259a (闇影弒魂)

學校 : 新北市立新店高級中學
編號 : 22544
來源 : [1.169.153.76]
最後登入時間 :
2021-05-25 21:17:52
b540. 這個六邊形,看完後我都驚呆了 -- 104學年度板橋高中校內資訊學科能力競賽(二)Codeforces560C | From: [211.75.3.43] | 發表日期 : 2017-08-04 16:27

 

#include
using namespace std;


int main()
{

int i, ans , triangle ;
int a[6];
while(cin>>a[0]){
ans=0;
triangle=0;
for (i = 1; i < 6; i++)
{
cin>>a[i];
}
ans += a[0] * (a[4] + a[5]) * 2 + (a[4] + a[5]) * a[1] * 2;
for (i = 1; i <= a[4]; i++)
{
triangle += i + triangle;
}
ans -= triangle;
triangle = 0;
for (i = 1; i <= a[1]; i++)
{
triangle += i + triangle;
}
ans -= triangle;
cout<<ans<<endl;
}
return 0;
}

把六邊形拆一半並補成平行四邊形

最後在減去多的三角形

 

我發現了.....


我三角形算法錯了

應該是  

triangle+=i*2-1

 
ZeroJudge Forum