cf-215C-Crosses
来源:互联网 发布:分析结果与关系的算法 编辑:程序博客网 时间:2024/06/06 00:44
枚举a,b,d,然后根据a,b,d的值算出来C。
#include<string.h>#include<algorithm>#include<stdlib.h>#include<iostream>#include<stdio.h>#include<vector>#define INF 1000000#define LL __int64using namespace std;vector<int>vec;int maps[201][201];LL ans;int n,m,s;int qiu(int a,int b,int d){ int c; int ss; ss=s; int ds; if(d>=b) { if(ss%d==0&&(ss/d)>=a) { return ss/d; } else { ss=ss-a*b; if(d-b&&ss%(d-b)==0) { c=ss/(d-b); if(c<=a)return ss/(d-b); } } } else { ss=ss-a*b+a*d; if(ss%d==0) { return ss/d; } } return 0;}void dos(int a,int b,int c,int d){ int aa; int bb; aa=max(a,c); bb=max(b,d); ans+=(n-aa+1)*(m-bb+1);}void ffdos(int a,int b){ ans+=(n-a+1)*(m-b+1);}void fdos(int a,int b){ ans+=(((a+1)/2)*((b+1)/2))*(n-a+1)*(m-b+1);}int main(){ int i,j,k; while(~scanf("%d%d%d",&n,&m,&s)) { ans=0; for(i=1;i<=n;i+=2) { for(j=1;j<=m;j+=2) { if(i*j>s)break; if(i*j==s) { fdos(i,j); continue; } for(k=1;k<=m;k+=2) { int ss; ss=qiu(i,j,k); if(!ss)continue; if(ss>n||ss%2==0)continue; if(ss>=i&&k>=j) { ffdos(ss,k); } else dos(i,j,ss,k); } } } cout<<ans<<endl; } return 0;}
0 0
- cf-215C-Crosses
- cf 215 C. Crosses yy题
- codeforce 215c 想法题 crosses
- CF#215DIV2:C. Sereja and Algorithm
- POJ Crosses and Crosses
- poj3537 Crosses and Crosses
- Crosses and Crosses
- POJ Crosses and Crosses
- poj3537 Crosses and Crosses
- POJ3537-Crosses and Crosses
- 【poj3537】 Crosses ans Crosses
- CF 190C STL
- CF 79C. Beaver
- CF 229C Triangles
- CF 4 C
- cf 230c
- CF 255C
- CF 27C
- IOS KVO,NSKeyValueObservance: Observer:, Key path:, Options:
- Kruskal 最小生成树
- CodeForces 208A/D 18周周赛
- Mysql创建用户并为用户分配数据库中多表不是全部表权限
- Linux的sysctl 命令参数
- cf-215C-Crosses
- 获取.exe/.dll/.icon文件的Icon图标资源
- Hibernate里使用jackjson出现异常解决办法
- Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- Mac配置Opencv时出现cmake错误
- php连接access的三种方法
- Cannot change version of project fact Dynamic Web Module to 3.0解决方法
- Linux sysctl.conf优化方案
- 01背包