day 19 暴力枚举
创始人
2024-05-16 11:43:34
0

注意:用long long 存答案

P2241 统计方形(数据加强版)

例:2(n) * 3(m):枚举 i 从0~n-1;j从0~m-1

边长为 1 的正方形:2 * 3 个;(n - 0)*(m - 0)

边长为 2 的正方形:1 * 2个;(n - 1)*(m - 1)

其他为 长方形;(n - i)*(m - j)

#include 
using namespace std;long long n, m, suma, sumb; 
int main()
{cin >> n >> m;for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){if(j == i) suma += (n - i)*(m - j);else sumb += (n - i)*(m - j);}}cout << suma << " " << sumb << endl;return 0;
}

P2089 烤鸡

有 10 种配料,每种配料可以放 1 到 3 克,任意烤鸡的美味程度为所有配料质量之和

#include 
using namespace std;int n, a[10010][10], t[10], m;//m 方案数, 第 i种材料 t[i]克 
void dfs(int sum, int k){// k 种配料,美味程度 sum if(k == 10 && sum == n){for(int i = 0; i < 10; i++){a[m][i] = t[i];} m++;}if(k < 10 && sum < n){for(int j = 1; j <= 3; j++){t[k] = j;dfs(sum + j, k + 1);}}
}
int main()
{cin >> n;dfs(0, 0);cout << m << endl;for(int i = 0; i < m; i++){for(int j = 0; j < 10; j++){cout << a[i][j] << " ";}cout << endl;}return 0;
}

P1618 三连击(升级版)

保证 A

#include 
using namespace std;int a, b, c, f, vis[10];
double ta, tb, tc;
void fun(int n){while(n){vis[n % 10]++;n /= 10;}
}
int main()
{cin >> a >> b >> c;for(int i = 123; i <= 987; i++){memset(vis, 0, sizeof(vis));ta = i;tb = ta / a * b;//ta:tb = a:btc = ta / a * c;if(int(tb) != tb || int(tc) != tc || tc > 987)continue;fun(ta), fun(tb), fun(tc);if(vis[1]==1 && vis[2]==1 && vis[3]==1 && vis[4]==1 && vis[4]==1 && vis[6]==1 && vis[7]==1 && vis[8]==1 && vis[9]==1){cout << ta << " " << tb << " " << tc << endl;f = 1;}}if(! f) cout << "No!!!" << endl; return 0;
}

P1157 组合的输出

#include 
using namespace std;int n, r, a[25], ans[25]; 
void dfs(int id, int num){if(num == r){for(int i = 0; i < num; i++)cout << setw(3) << ans[i];cout << endl; }else if(num < r){for(int i = id + 1; i <= n; i++){ans[num] = a[i];dfs(i, num + 1);}}
}
int main() 
{cin >> n >> r;for(int i = 1; i <= n; i++) a[i] = i;dfs(0, 0);return 0;
}

P1706 全排列问题

#include 
using namespace std;int n, a[10], vis[10], ans[10];
void dfs(int num){if(num == n){for(int i = 0; i < num; i++)cout << setw(5) << ans[i];cout << endl;}if(num < n){for(int i = 1; i <= n; i++){if(! vis[i]){ans[num] = a[i], vis[i] = 1;dfs(num + 1);vis[i] = 0;}}}
}
int main()
{cin >> n;for(int i = 1; i <= n; i++) a[i] = i;dfs(0);return 0;
}

P1088 [NOIP2004 普及组] 火星人

#include 
using namespace std;// 全排列 
int n, m, a[10005], vis[10005], f1, f2;
void dfs(int num){if(f2 == 1) return;if(num > n){f1++ ;if(f1 == m + 1){for(int i = 1; i < num; i++)cout << a[i] << " ";cout << endl;f2 = 1;}}for(int i = 1; i <= n; i++){if(! f1) i = a[num];if(! vis[i]){a[num] = i, vis[i] = 1;dfs(num + 1);vis[i] = 0;}}
}
int main()
{cin >> n >> m;for(int i = 1; i <= n; i++) cin >> a[i];dfs(1);return 0;
}

计算序列全排列的函数:next_permutation(start,end),和prev_permutation(start,end)。这两个函数作用是一样的,区别就在于前者求的是当前排列的下一个排列,后一个求的是当前排列的上一个排列

#include
using namespace std;
int main(){int n,m;cin>>n>>m;int ord[n+1];for(int i=1;i<=n;++i)    cin>>ord[i];for(int i=1;i<=m;++i)    next_permutation(ord+1,ord+1+n);for(int i=1;i

相关内容

热门资讯

诗词的由来? 诗词的由来?几年前?为啥来?诗歌概念起源 诗歌是一种主情的文学体裁,它以抒情的方式,高度凝练,集中地...
陈梦佳是好人吗? 陈梦佳是好人吗?我不了解TA
关于鹏的成语典故? 关于鹏的成语典故?据一个叫庄周的说这货在水里是鱼名鲲,上了天变成鸟叫鹏,纵横几千里,如垂天之云。据西...
上夜班很困怎么办, 上夜班很困怎么办, 白天多休息。注意饮食营养。晚上上班的时候可以听听节奏比较快的歌,或者听自己一向...
男生不主动找聊天就是没戏吧? 男生不主动找聊天就是没戏吧?你分情况,不同性格的人不一样。比如说处女男,因为天性原因希望女孩子主动一...
说人守时回家的成语 说人守时回家的成语 分秒必争 [fēn miǎo bì zhēng] 生词本基本释义一分一秒也一...
大航海探险物语要在什么辅助脚本... 大航海探险物语要在什么辅助脚本玩呢?大航海探险物语要在鸟人助手上玩呀,这款辅助脚本不用root一样可...
怎样锻炼孩子注意力集中? 怎样锻炼孩子注意力集中?第一,多训练孩子听力,在孩子听某些声音或语言,能听懂其中的细节和主旨。第二,...
本来可爱的小家伙,变成了难管教... 本来可爱的小家伙,变成了难管教的熊孩子,孩子太难管教了怎么办呢?多跟孩子沟通,走进孩子的内心,了解她...
孩子跳舞发圈简单句子 孩子跳舞发圈简单句子1、爸爸妈妈会为你在赛场上的努力而感到骄傲。我们爱你。2、感觉女儿特别的用心,在...
我女朋友和我说她只是喜欢我而不... 我女朋友和我说她只是喜欢我而不爱我,我还怎么办?就是因为你平时对她的宠爱,,让她变成了理所当然,,她...
关于通缉令的问题! 关于通缉令的问题!分级别的。A级才能公布大众的。如果你想曝光此事,可以找当地媒体。。。。
湖南涉外经济学院教师车祸造成 ... 湖南涉外经济学院教师车祸造成 2 人受伤,事故原因是什么?这是因为他们的心情不好的原因,所以,这样的...
微电影创作过程中,工作思路怎么... 微电影创作过程中,工作思路怎么写请问你说的是剧本创作还是拍摄工作,还是整个流程?
求类似异形大战铁血战士这样的把... 求类似异形大战铁血战士这样的把两部不同电影里的人物放到一起对打的电影弗莱迪大战杰森
喜欢看小说的进来 喜欢看小说的进来小说里面都有那些 剑法 轻功 剑名(倚天剑 )门派(专收女弟子的名字要好听的)风云也...
顾瑶周夜深小说叫什么名字? 顾瑶周夜深小说叫什么名字?不是冤家不成婚场景一:“贺尧谦你会有报应的!”某女手握拳头信誓旦旦。“放心...
永恒之塔各种达人(6种),前期... 永恒之塔各种达人(6种),前期中期后期分别做什么东西好卖?永恒之塔各种达人(6种),前期中期后期分别...
用精字组成不同的词语填空 用精字组成不同的词语填空节目( ) 制作( ) 装备( ) 包装( ) ( ...
什么是白富美?什么是高富帅? 什么是白富美?什么是高富帅?白富美就是长得白净、有钱、美丽漂亮,一般形容女的,高富帅是长得个子高,又...