1013: 防水堤坝

这个最大面积,看了别人找的规律
https://blog.csdn.net/Gong_Yihang/article/details/104986207
我自己不知道为什么lld输出,在手动加上第一位小数,输出可以正常通过
但是如果换成double输出,就会WA50%

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
	ll k;
	while(scanf("%lld",&k)!=EOF){
		ll a =k%4;
		if(a==0){
			ll bian= k/4;
			ll s= bian*bian*2;
			printf("%lld.0\n",s);
		}
		else if(a==2){
			ll short_bian = k/4;
			ll long_bian = short_bian+1;
			ll s= short_bian*long_bian*2;
			printf("%lld.0\n",s);
		}
		else if(a==1){
			ll bian= k/4;
			ll s= bian*bian*2;
			s+=(bian+bian-1)/2;
			printf("%lld.5\n",s);
		}
		else if(a==3){
			ll short_bian = k/4;
			ll long_bian = short_bian+1;
			ll s= short_bian*long_bian*2;
			s+=(long_bian+long_bian-1)/2;
			printf("%lld.5\n",s);
		}
	}
}
posted @ 2026-02-10 21:53  peter_shen  阅读(7)  评论(0)    收藏  举报