欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

蓝桥杯算法训练:利润最大化问题(C语言实现)

最编程 2024-08-14 17:10:01
...
#include <stdio.h> int main(int argc, char *argv[]) { int a[101][101],b[101][101];//定义四个二维数组 long long c[101][101],d[101][101]; int m/*时间段*/,n/*店的个数*/; int i,j; scanf("%d %d",&n,&m); for(i = 0;i < n;i++){ for(j = 0;j < m;j++){ scanf("%d",&a[i][j]);//服务员的个数 } } for(i = 0;i < n;i++){ for(j = 0;j < m;j++){ scanf("%d",&b[i][j]); } } for(i = 0;i < n;i++){ for(j = 0;j < m;j++){ scanf("%lld",&c[i][j]);//他cij的值特别大,所以要用long long } } //题意是一个服务员只能服务一个顾客,多了他就不干了(好傻啊,QAQ) for(i = 0;i < n;i++){ for(j = 0;j < m;j++){ if(a[i][j] < b[i][j]){//当服务员的数量小于顾客的数量时 d[i][j] = c[i][j] * a[i][j];//服务员 * 金额 } else{ d[i][j] = b[i][j] * c[i][j];//顾客数 * 金额 } } } long long cns = 0; for(i = 0;i < n;i++){ long long max = 0;//取每家店的最大值 for(j = 0;j < m;j++){ if(d[i][j] >= max){ max = d[i][j]; } } cns += max;//累加 } printf("%lld",cns); return 0; }