题目:
2.盖印章【算法赛】 - 蓝桥云课 (lanqiao.cn)
思路:
此题主要靠解方程组,但是枚举好像不太行,因为会有负数解,
二元一次方式
设A章需要a次,B章需要b次
第一个方程:a + b = k;
第二个方程 :3 * a + 2*b == count (字符1的个数)
AC代码:
cpp
#include <iostream>
using namespace std;
int main()
{
cin.tie(0)->ios::sync_with_stdio(false);
// 请在此输入您的代码
int n,m,k;
cin >> n >> m >> k;
int count = 0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
char c;
cin >> c;
if(c == '1') count++;
}
}
// a + b == k, 3*a+2*b==count;
cout << count - 2*k << ' ' << 3*k-count;
return 0;
}