1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
#include<bits/stdc++.h> using namespace std; #define maxn 100005 int main() { int n,m,k; while(~scanf("%d %d %d",&n,&m,&k)){ long long sum=0,a[maxn]={0}; for( int i=1; i<=m; i++ ) a[i]=a[i-1]+m-i+1;//m-i+1表示宽度为i在m列里有几种放置情况,a[i]表示总和; for( int j=1; j<=n; j++ ){//高从j到n; int cnt_x=min(k/2-j,m); if(cnt_x<0) cnt_x=0; int cnt_y=n-j+1;//高为j在n列里情况 sum+=a[cnt_x]*cnt_y; } printf("%lldn",sum); } return 0; }
|
近期评论