社区讨论

数学乘法加法原理(违规紫衫)

学术版参与者 5已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@mjjy67et
此快照首次捕获于
2025/12/24 19:45
2 个月前
此快照最后确认于
2025/12/26 22:15
2 个月前
查看原帖

题目

前置故事

学校数学校内题目,大家持不同意见,网上答案一致认为是 6464 ,但大家听一下我的思路,把回头的边去掉,用乘法原理易得答案是 6464 ,但加了回头路一定会更多,所以一定不是 6464,然后现在决定动用 OI 神力,打了一个暴搜。

代码

这是我自己标了序号建的图
CPP
#include <bits/stdc++.h>
#define int long long
#define inf 0x3f3f3f3f3f3f3f3f
#define debug(nm,val) cout<<"DEBUG :"<<nm<<' '<<val<<'\n'
using namespace std;

vector <vector <pair <int,int> > > g;
unordered_set <int> S;
int ans=0;

void dfs (int u,unordered_set <int> road) {
	if (u==30) ans++;
	
	for (auto v : g[u]) {
		if (road.count (v.second)) continue;
		else {
			road.insert (v.second);
			dfs (v.first,road);
		}
	}
	
	return ;
}

signed main () {
	ios ::sync_with_stdio (false); cin.tie (nullptr); cout.tie (nullptr);
	
	g.resize (31);
	int edge_id=0;
	
	g[1].push_back({16,++edge_id});
	g[7].push_back({9,++edge_id});
	g[2].push_back({4,++edge_id});
	g[5].push_back({11,++edge_id});
	g[3].push_back({6,++edge_id});
	g[8].push_back({13,++edge_id});
	g[15].push_back({21,++edge_id});
	g[10].push_back({17,++edge_id});
	g[12].push_back({19,++edge_id});
	g[18].push_back({25,++edge_id});
	g[22].push_back({23,++edge_id});
	g[24].push_back({28,++edge_id});
	g[26].push_back({29,++edge_id});
	g[20].push_back({27,++edge_id});
	
	g[1].push_back({2,++edge_id});
	g[2].push_back({1,edge_id});
	g[2].push_back({7,++edge_id});
	g[7].push_back({2,edge_id});
	g[4].push_back({5,++edge_id});
	g[5].push_back({4,edge_id});
	g[5].push_back({6,++edge_id});
	g[6].push_back({5,edge_id});
	g[6].push_back({8,++edge_id});
	g[8].push_back({6,edge_id});
	g[7].push_back({10,++edge_id});
	g[10].push_back({7,edge_id});
	g[9].push_back({10,++edge_id});
	g[10].push_back({9,edge_id});
	g[1].push_back({9,++edge_id});
	g[9].push_back({1,edge_id});
	g[10].push_back({11,++edge_id});
	g[11].push_back({10,edge_id});
	g[11].push_back({12,++edge_id});
	g[12].push_back({11,edge_id});
	g[12].push_back({13,++edge_id});
	g[13].push_back({12,edge_id});
	g[13].push_back({15,++edge_id});
	g[15].push_back({13,edge_id});
	g[16].push_back({17,++edge_id});
	g[17].push_back({16,edge_id});
	g[17].push_back({18,++edge_id});
	g[18].push_back({17,edge_id});
	g[18].push_back({19,++edge_id});
	g[19].push_back({18,edge_id});
	g[19].push_back({20,++edge_id});
	g[20].push_back({19,edge_id});
	g[20].push_back({21,++edge_id});
	g[21].push_back({20,edge_id});
	g[17].push_back({22,++edge_id});
	g[22].push_back({17,edge_id});
	g[22].push_back({24,++edge_id});
	g[24].push_back({22,edge_id});
	g[23].push_back({24,++edge_id});
	g[24].push_back({23,edge_id});
	g[24].push_back({25,++edge_id});
	g[25].push_back({24,edge_id});
	g[25].push_back({26,++edge_id});
	g[26].push_back({25,edge_id});
	g[26].push_back({27,++edge_id});
	g[27].push_back({26,edge_id});
	g[28].push_back({29,++edge_id});
	g[29].push_back({28,edge_id});
	g[29].push_back({30,++edge_id});
	g[30].push_back({29,edge_id});
	
	dfs (1,S);
	cout<<ans<<'\n';
}
输出160
那么请问各位大佬答案到底是什么?

回复

8 条回复,欢迎继续交流。

正在加载回复...