叉姐出的题
题解链接:
https://github.com/ftiasch/problem-setting-public/tree/master/2019-hunan
A.全1子矩阵 签到题
题目大意:给出一个01矩阵 判断所有的1是否充满了一个完整的矩阵
思路:遍历一遍矩阵的所有数据,得到含1的位置矩阵的最小值,最大值(即该矩阵的左下角和右上角
长*宽 = 1的数量
#include using namespace std;
char a[105][105];
int main()
{
int n,m;
while (~scanf("%d%d",&n,&m))
{
for (int i=0; i
F.4 Buttons 推公式/签到
题目大意:每走一次往右至多a步,往上至多b步,往左至多c步,往下至多d步
每个样例走n次 告诉a,b,c,d
思路:把每一个象限分别计算,最后加上在数轴上的可到达的点
#include using namespace std;
const int mod = 1e9+7;
#define ll long long
int main()
{
ll n,a,b,c,d;
while (~scanf("%lld%lld%lld%lld%lld",&n,&a,&b,&c,&d))
{
if (n==1)
printf("%lld\n",a+b+c+d+1);
else
{
ll sum=0;
sum = (sum+ (n-1)*n/2%mod *a%mod *b%mod)%mod;
sum = (sum+ (n-1)*n/2%mod *a%mod *d%mod)%mod;
sum = (sum+ (n-1)*n/2%mod *c%mod *b%mod)%mod;
sum = (sum+ (n-1)*n/2%mod *c%mod *d%mod)%mod;
sum = (sum+ (a+b+c+d)%mod *n%mod)%mod;
printf("%lld\n",(sum+1)%mod);
}
}
return 0;
}
注意:int 和long long 要统一
E.Numbers dfs
大白和Alone做的
只要判断一位还是两位的数字……