当前位置: 首页 > wzjs >正文

网站专业好找工作吗网站搭建技术方案

网站专业好找工作吗,网站搭建技术方案,建筑工地老板直招工人,石家庄企业宣传片制作公司L2-052 吉利矩阵 - 团体程序设计天梯赛-练习集 所有元素为非负整数,且各行各列的元素和都等于 7 的 33 方阵称为“吉利矩阵”,因为这样的矩阵一共有 666 种。 本题就请你统计一下,把 7 换成任何一个 [2,9] 区间内的正整数 L,把矩…

L2-052 吉利矩阵 - 团体程序设计天梯赛-练习集

所有元素为非负整数,且各行各列的元素和都等于 7 的 3×3 方阵称为“吉利矩阵”,因为这样的矩阵一共有 666 种。
本题就请你统计一下,把 7 换成任何一个 [2,9] 区间内的正整数 L,把矩阵阶数换成任何一个 [2,4] 区间内的正整数 N,满足条件“所有元素为非负整数,且各行各列的元素和都等于 L”的 N×N 方阵一共有多少种?

输入格式:

输入在一行中给出 2 个正整数 L 和 N,意义如题面所述。数字间以空格分隔。

输出格式:

在一行中输出满足题目要求条件的方阵的个数。

输入样例:

7 3

输出样例:

666

思路:

剪枝只对完成的行列进行判断,超时两个点
代码:
 

#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int rows[10], ranks[10];
int L, N, ans;void dfs(int x, int y) 
{if (y > N)// 走完一行 { if (rows[x] != L)return;x++;y = 1;}if (x > N) // 填充完整个矩阵 {for (int i = 1; i <= N; i++) {if (ranks[i] != L)return;if(rows[i] != L)return;}ans++;return;}for (int i = 0; i <= L; i++) {a[x][y] = i;rows[x] += i;ranks[y] += i;dfs(x, y + 1);rows[x] -= i;ranks[y] -= i;a[x][y] = 0;}
}int main(void) 
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> L >> N;dfs(1, 1);cout << ans;return 0;
}

思路:
优化剪枝,对于中间过程,凡是超过L的都要回溯,这里利用两个数组,存行和列的值。超时一个点。

代码:
 

#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int rows[10], ranks[10];
int L, N, ans;void dfs(int x, int y) 
{if(rows[x] > L || ranks[y] > L)return; if (y > N)//走完一行 { if (rows[x] != L)return;x++;y = 1;}if (x > N)// 填充完整个矩阵 { for (int i = 1; i <= N; i++) {if (ranks[i] != L)return;}ans++;return;}for (int i = 0; i <= L; i++) {a[x][y] = i;rows[x] += i;ranks[y] += i;dfs(x, y + 1);rows[x] -= i;ranks[y] -= i;a[x][y] = 0;}
}int main(void) {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> L >> N;dfs(1, 1);cout << ans;return 0;
}

思路:
完全优化,对于行最后一个位置,不用进行枚举,直接求L-(N-1)选的数字和。

代码:

#include <bits/stdc++.h>
using namespace std;int rows[10], ranks[10];
int L, N, ans;void dfs(int x, int y) 
{if (x > N)//全部走完 {ans++;return;}if (y > N) //走完一行 {if (rows[x] != L) return;x++;y = 1; }if (rows[x] > L || ranks[y] > L)//剪枝 return;if (y == N)//每行最后一个格子 {int remain = L - rows[x];if (remain < 0 || ranks[y] + remain > L) return;rows[x] += remain;ranks[y] += remain;dfs(x, y + 1);rows[x] -= remain;ranks[y] -= remain;} else {int max_i = min(L - rows[x], L - ranks[y]);//取最小 for (int i = 0; i <= max_i; i++) {rows[x] += i;ranks[y] += i;dfs(x, y + 1);rows[x] -= i;ranks[y] -= i;}}
}
int main() 
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> L >> N;dfs(1, 1);cout << ans;return 0;
}


http://www.dtcms.com/wzjs/800854.html

相关文章:

  • 调查公司做网站需要备案吗wordpress读取mysql
  • 做网站主机要求wordpress 抓取微信
  • 安徽元鼎建设工程有限责任公司网站烟台市芝罘区建设局网站
  • vs做网站不显示图片东莞网站建设智搜宝
  • 烟台外贸网站建设被他人备案后做违法网站
  • 网站建设及推广服务公司营销型网站建设套餐
  • 网站前台架构wordpress 小游戏
  • 住总第三开发建设有限公司网站商城网站备案能通过吗
  • 网站手机版怎么做的做网站如何获取收益
  • 甘肃建设局网站首页iis7.5 wordpress
  • 做自动发货网站指数函数运算法则
  • 都兰县建设局交通局网站东莞淘宝网站建设
  • 局域网网站建设步骤互联网销售是做什么的
  • 濮阳门户网站开发搭建门户网站费用是多少
  • wordpress开启hppts后格式长沙seo公司网站优化
  • 个人主页自助建站wordpress开启2级域名
  • 网站可以查出在哪里做的吗企业展示网站案例
  • 网站开发的框架协议南昌市会做网站有哪几家
  • 如何获取网站根目录链接wordpress 转小程序
  • 网站推广平台有哪些网络营销产品策略案例
  • 专业做电脑系统下载网站好怎么修改网站上传附件大小
  • wordpress 头部导航番禺推广优化
  • html网站登录界面模板wordpress上传视频大小
  • php做教育网站武陟做网站
  • 做网站怎么回本成都专业网站制作多少钱
  • 水泵行业网站怎么做中职校园网站建设建议
  • linux系统做网站有什么平台可以发布推广信息
  • 德阳网站建设网站建设个人网页设计的主要内容和要求
  • 网站过度优化的表现php能干嘛 wordpress
  • 雄安网站建设传媒网站模板