To Bet or Not To Bet

博客内容讲述了如何使用动态规划解决一个涉及概率计算的移动指令问题。代码中,作者详细解析了动态规划矩阵的更新过程,特别是对于移动一步或两步后是否停留的情况进行了深入解释,以计算在给定步数限制内到达终点的概率。最终,根据概率输出是否下注的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

To Bet or Not To Bet

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
又是一道细节满满的题,一个不留神就不能通过。。。找 bug 找好长时间,这是一道动态规划的题,我们将输入的指令全部转化为数值命令,便于我们操作,下面我重点解释一下概率的计算的循环过程,其余的已经写在注释里了,关于代码:

for (int i = 0;i <= t;i++) {//注意下标,i=0 表示从 0 步开始计步,j=0 表示从起点开始 
	for (int j = 0;j <= m;j++) {//这一段循环我在外面说明哦~ 
		if (step[j + 1] == inf) dp[i + 2][j + 1] += dp[i][j] * 0.5;
		else dp[i + 1][j + 1 + step[j + 1]] += dp[i][j] * 0.5;
		if (step[j + 2] == inf) dp[i + 2][j + 2] += dp[i][j] * 0.5;
		else dp[i + 1][j + 2 + step[j + 2]] += dp[i][j] * 0.5;
	}
}

说明:首先点明 if 与 else 需要不同的理解方式,先看 if:它是说移动一位或者两位到达的地方要停一轮,所以说相当于第 i+2 轮移动到了这里,那么你可能要问:第 i+1 轮已经来到这里了呀,只不过是停了一轮罢了,那第 i+1 的概率哪去了??如果说我们的代码正确的话,那么我们只能说在 else 中了,没错!因为移动一轮之后step[j + 1] == inf的判断条件实际上变成了step[j + 2] == inf(当前终点成为下一次的起点!)!也就是另一种判断情况了!!这个弯得绕过来!所以我们理解了 if 语句的合理性。
下面是 else:从当前出发到达 j+1 or j+2,但还是没有停下!因为要执行指令,所以说从 j 来到了 j + 1 + step[j + 1] 或者 j + 2 + step[j + 2],并且只是多移动了一轮!(没有停一轮),这样就不难理解代码了:

//概率动态规划(主要是希望逐渐掌握动态规划) 
#include<iostream>
#include<cstdio>
#include<cstring>
#define inf 0x7fffffff//用最大数表示停一轮 
using namespace std;
int n, m, t;//n 个测试用例,m 个格子(除了起点与终点),最多 t 轮 
char s[10];//存放移动指令 
int step[55];//将移动指令转化为数值 
double dp[55][55];//dp[i][j] 表示第 i 次移动到位置 j 处 
int main() {
	cin >> n;
	while (n--) {//进行 n 轮 
		cin >> m >> t;
		memset(dp, 0, sizeof(dp));//每一轮初始化为 0 
		memset(step, 0, sizeof(step));
		for (int i = 1;i <= m;i++) {//注意从 1 到 m 时 step 才有意义 
			scanf("%s", s);
			//将 s 翻译成 step: 
			if (s[0] == '0') step[i] = 0;
			else if (s[0] == 'L') step[i] = inf;//特判 0,因为没有 + - 符号! 
			else {
				for (int j = 1;s[j] != '\0';j++) step[i] = step[i] * 10 + s[j] - '0';//对绝对值为 10 以上的数发挥作用 
				if (s[0] == '-') step[i] *= (-1);
			}
		}
		dp[0][0] = 1;//一定要记得初始化起点!!! 
		step[m + 2] = -1;//这里表示由 m+2 退回 m+1(到达终点) 
		for (int i = 0;i <= t;i++) {//注意下标,i=0 表示从 0 步开始计步,j=0 表示从起点开始 
			for (int j = 0;j <= m;j++) {//这一段循环我在外面说明哦~ 
				if (step[j + 1] == inf) dp[i + 2][j + 1] += dp[i][j] * 0.5;
				else dp[i + 1][j + 1 + step[j + 1]] += dp[i][j] * 0.5;
				if (step[j + 2] == inf) dp[i + 2][j + 2] += dp[i][j] * 0.5;
				else dp[i + 1][j + 2 + step[j + 2]] += dp[i][j] * 0.5;
			}
		}
		for (int i = 0;i < t;i++) dp[t][m + 1] += dp[i][m + 1];//计算总概率 
		if (dp[t][m + 1] == 0.5) printf("Push. 0.5000\n");
		else if (dp[t][m + 1] < 0.5) printf("Bet against. %.4lf\n", dp[t][m + 1]);
		else printf("Bet for. %.4lf\n", dp[t][m + 1]);
	}
	return 0;
}
npm warn old lockfile npm warn old lockfile The package-lock.json file was created with an old version of npm, npm warn old lockfile so supplemental metadata must be fetched from the registry. npm warn old lockfile npm warn old lockfile This is a one-time fix-up, please be patient... npm warn old lockfile npm warn deprecated osenv@0.1.5: This package is no longer supported. npm warn deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility npm warn deprecated npmlog@4.1.2: This package is no longer supported. npm warn deprecated q@1.5.1: You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. npm warn deprecated npm warn deprecated (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) npm warn deprecated are-we-there-yet@1.1.7: This package is no longer supported. npm warn deprecated gauge@2.7.4: This package is no longer supported. npm warn deprecated fstream@1.0.12: This package is no longer supported. npm warn deprecated axios@0.19.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 npm warn deprecated svgo@1.2.2: This SVGO version is no longer supported. Upgrade to v2.x.x. npm warn deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap. npm warn deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could caus
03-09
npm ERR! code 1 npm ERR! git dep preparation failed npm ERR! command D:\Program Files\nodejs\node.exe D:\node\nodejs\node_global\node_modules\npm\bin\npm-cli.js install --force --cache=D:\Program Files\nodejs\node_cache --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run npm ERR! npm WARN using --force Recommended protections disabled. npm ERR! npm WARN deprecated osenv@0.1.5: This package is no longer supported. npm ERR! npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm ERR! npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs npm ERR! npm WARN deprecated @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. npm ERR! npm WARN deprecated lodash.isequal@4.5.0: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. npm ERR! npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead npm ERR! npm WARN deprecated move-concurrently@1.0.1: This package is no longer supported. npm ERR! npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility npm ERR! npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated npm ERR! npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated figgy-pudding@3.5.2: This module is no longer supported. npm ERR! npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated npmlog@4.1.2: This package is no longer supported. npm ERR! npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained npm ERR! npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained npm ERR! npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated consolidate@0.15.1: Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog npm ERR! npm WARN deprecated copy-concurrently@1.0.5: This package is no longer supported. npm ERR! npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated npm ERR! npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm ERR! npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm ERR! npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm ERR! npm WARN deprecated q@1.5.1: You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. npm ERR! npm WARN deprecated npm ERR! npm WARN deprecated (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) npm ERR! npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported npm ERR! npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm ERR! npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated npm ERR! npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated npm ERR! npm WARN deprecated are-we-there-yet@1.1.7: This package is no longer supported. npm ERR! npm WARN deprecated html-webpack-plugin@3.2.0: 3.x is no longer supported npm ERR! npm WARN deprecated fs-write-stream-atomic@1.0.10: This package is no longer supported. npm ERR! npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address' npm ERR! npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. npm ERR! npm WARN deprecated @babel/polyfill@7.12.1: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information. npm ERR! npm WARN deprecated gauge@2.7.4: This package is no longer supported. npm ERR! npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm ERR! npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm ERR! npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm ERR! npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm ERR! npm WARN deprecated webpack-chain@6.5.1: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. npm ERR! npm WARN deprecated fstream@1.0.12: This package is no longer supported. npm ERR! npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained npm ERR! npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi' npm ERR! npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x. npm ERR! npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap. npm ERR! npm WARN deprecated iltorb@2.4.5: The zlib module provides APIs for brotli compression/decompression starting with Node.js v10.16.0, please use it over iltorb npm ERR! npm WARN deprecated vue@2.6.14: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details. npm ERR! npm WARN deprecated node-sass@4.14.1: Node Sass is no longer supported. Please use `sass` or `sass-embedded` instead. npm ERR! npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options. npm ERR! npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, fea ture detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. npm ERR! npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, fea ture detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. npm ERR! npm WARN cleanup Failed to remove some directories [ npm ERR! npm WARN cleanup [ npm ERR! npm WARN cleanup 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\mozjpeg', npm ERR! npm WARN cleanup [Error: EBUSY: resource busy or locked, rmdir 'D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\mozjpeg'] { npm ERR! npm WARN cleanup errno: -4082, npm ERR! npm WARN cleanup code: 'EBUSY', npm ERR! npm WARN cleanup syscall: 'rmdir', npm ERR! npm WARN cleanup path: 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\mozjpeg' npm ERR! npm WARN cleanup } npm ERR! npm WARN cleanup ], npm ERR! npm WARN cleanup [ npm ERR! npm WARN cleanup 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\optipng-bin', npm ERR! npm WARN cleanup [Error: EBUSY: resource busy or locked, rmdir 'D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\optipng-bin'] { npm ERR! npm WARN cleanup errno: -4082, npm ERR! npm WARN cleanup code: 'EBUSY', npm ERR! npm WARN cleanup syscall: 'rmdir', npm ERR! npm WARN cleanup path: 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\optipng-bin' npm ERR! npm WARN cleanup } npm ERR! npm WARN cleanup ], npm ERR! npm WARN cleanup [ npm ERR! npm WARN cleanup 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\cwebp-bin', npm ERR! npm WARN cleanup [Error: EBUSY: resource busy or locked, rmdir 'D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\cwebp-bin'] { npm ERR! npm WARN cleanup errno: -4082, npm ERR! npm WARN cleanup code: 'EBUSY', npm ERR! npm WARN cleanup syscall: 'rmdir', npm ERR! npm WARN cleanup path: 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\cwebp-bin' npm ERR! npm WARN cleanup } npm ERR! npm WARN cleanup ], npm ERR! npm WARN cleanup [ npm ERR! npm WARN cleanup 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\gifsicle', npm ERR! npm WARN cleanup [Error: EBUSY: resource busy or locked, rmdir 'D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\gifsicle'] { npm ERR! npm WARN cleanup errno: -4082, npm ERR! npm WARN cleanup code: 'EBUSY', npm ERR! npm WARN cleanup syscall: 'rmdir', npm ERR! npm WARN cleanup path: 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\gifsicle' npm ERR! npm WARN cleanup } npm ERR! npm WARN cleanup ], npm ERR! npm WARN cleanup [ npm ERR! npm WARN cleanup 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\pngquant-bin', npm ERR! npm WARN cleanup [Error: EBUSY: resource busy or locked, rmdir 'D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\pngquant-bin'] { npm ERR! npm WARN cleanup errno: -4082, npm ERR! npm WARN cleanup code: 'EBUSY', npm ERR! npm WARN cleanup syscall: 'rmdir', npm ERR! npm WARN cleanup path: 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\pngquant-bin' npm ERR! npm WARN cleanup } npm ERR! npm WARN cleanup ], npm ERR! npm WARN cleanup [ npm ERR! npm WARN cleanup 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules', npm ERR! npm WARN cleanup [Error: EBUSY: resource busy or locked, rmdir 'D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\cwebp-bin'] { npm ERR! npm WARN cleanup errno: -4082, npm ERR! npm WARN cleanup code: 'EBUSY', npm ERR! npm WARN cleanup syscall: 'rmdir', npm ERR! npm WARN cleanup path: 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\cwebp-bin' npm ERR! npm WARN cleanup } npm ERR! npm WARN cleanup ], npm ERR! npm WARN cleanup [ npm ERR! npm WARN cleanup 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\@babel\\polyfill', npm ERR! npm WARN cleanup [Error: EPERM: operation not permitted, rmdir 'D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\@babel\polyfill'] { npm ERR! npm WARN cleanup errno: -4048, npm ERR! npm WARN cleanup code: 'EPERM', npm ERR! npm WARN cleanup syscall: 'rmdir', npm ERR! npm WARN cleanup path: 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\@babel\\polyfill' npm ERR! npm WARN cleanup } npm ERR! npm WARN cleanup ] npm ERR! npm WARN cleanup ] npm ERR! npm ERR! code 1 npm ERR! npm ERR! path D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass npm ERR! npm ERR! command failed npm ERR! npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js npm ERR! npm ERR! Building: D:\Program Files\nodejs\node.exe D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library= npm ERR! npm ERR! �ڴ˽��������һ������һ����Ŀ����Ҫ���ò������ɣ������ӡ�/m�����ء� npm ERR! npm ERR! ��������ʱ��Ϊ 2025/5/27 15:48:02�� npm ERR! npm ERR! �ڵ� 1 �ϵ���Ŀ��D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\build\binding.sln��(Ĭ��Ŀ��)�� npm ERR! npm ERR! ValidateSolutionConfiguration: npm ERR! npm ERR! �������ɽ���������á�Release|x64���� npm ERR! npm ERR! MSBUILD : error MSB3428: δ�ܼ��� Visual C++ �����VCBuild.exe����Ҫ��������⣬1) ��װ .NET Framework 2.0 SDK��2) ��װ Microsoft Visual Studio 2005���� 3) ������������װ��������λ�ã��뽫��λ�����ӵ�ϵͳ·���С� [D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\build\binding.sln] npm ERR! npm ERR! �����������Ŀ��D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\build\binding.sln��(Ĭ��Ŀ��)�IJ��� - ʧ�ܡ� npm ERR! npm ERR! npm ERR! npm ERR! ����ʧ�ܡ� npm ERR! npm ERR! npm ERR! npm ERR! ��D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\build\binding.sln��(Ĭ��Ŀ��) (1) -> npm ERR! npm ERR! (_src_\libsass Ŀ��) -> npm ERR! npm ERR! MSBUILD : error MSB3428: δ�ܼ��� Visual C++ �����VCBuild.exe����Ҫ��������⣬1) ��װ .NET Framework 2.0 SDK��2) ��װ Microsoft Visual Studio 2005���� 3) ������������װ��������λ�ã��뽫��λ�����ӵ�ϵͳ·���С� [D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\build\binding.sln] npm ERR! npm ERR! npm ERR! npm ERR! 0 ������ npm ERR! npm ERR! 1 ������ npm ERR! npm ERR! npm ERR! npm ERR! ����ʱ�� 00:00:00.40 npm ERR! npm ERR! gyp info it worked if it ends with ok npm ERR! npm ERR! gyp verb cli [ npm ERR! npm ERR! gyp verb cli 'D:\\Program Files\\nodejs\\node.exe', npm ERR! npm ERR! gyp verb cli 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\node-gyp\\bin\\node-gyp.js', npm ERR! npm ERR! gyp verb cli 'rebuild', npm ERR! npm ERR! gyp verb cli '--verbose', npm ERR! npm ERR! gyp verb cli '--libsass_ext=', npm ERR! npm ERR! gyp verb cli '--libsass_cflags=', npm ERR! npm ERR! gyp verb cli '--libsass_ldflags=', npm ERR! npm ERR! gyp verb cli '--libsass_library=' npm ERR! npm ERR! gyp verb cli ] npm ERR! npm ERR! gyp info using node-gyp@3.8.0 npm ERR! npm ERR! gyp info using node@14.20.0 | win32 | x64 npm ERR! npm ERR! gyp verb command rebuild [] npm ERR! npm ERR! gyp verb command clean [] npm ERR! npm ERR! gyp verb clean removing "build" directory npm ERR! npm ERR! gyp verb command configure [] npm ERR! npm ERR! gyp verb check python checking for Python executable "python2" in the PATH npm ERR! npm ERR! gyp verb `which` failed Error: not found: python2 npm ERR! npm ERR! gyp verb `which` failed at getNotFoundError (D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\node_modules\which\which.js:13:12) npm ERR! npm ERR! gyp verb `which` failed at F (D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\node_modules\which\which.js:68:19) npm ERR! npm ERR! gyp verb `which` failed at E (D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\node_modules\which\which.js:80:29) npm ERR! npm ERR! gyp verb `which` failed at D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\node_modules\which\which.js:89:16 npm ERR! npm ERR! gyp verb `which` failed at D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\isexe\index.js:42:5 npm ERR! npm ERR! gyp verb `which` failed at D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\isexe\windows.js:36:5 npm ERR! npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (fs.js:192:21) npm ERR! npm ERR! gyp verb `which` failed python2 Error: not found: python2 npm ERR! npm ERR! gyp verb `which` failed at getNotFoundError (D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\node_modules\which\which.js:13:12) npm ERR! npm ERR! gyp verb `which` failed at F (D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\node_modules\which\which.js:68:19) npm ERR! npm ERR! gyp verb `which` failed at E (D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\node_modules\which\which.js:80:29) npm ERR! npm ERR! gyp verb `which` failed at D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\node_modules\which\which.js:89:16 npm ERR! npm ERR! gyp verb `which` failed at D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\isexe\index.js:42:5 npm ERR! npm ERR! gyp verb `which` failed at D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\isexe\windows.js:36:5 npm ERR! npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (fs.js:192:21) { npm ERR! npm ERR! gyp verb `which` failed code: 'ENOENT' npm ERR! npm ERR! gyp verb `which` failed } npm ERR! npm ERR! gyp verb check python checking for Python executable "python" in the PATH npm ERR! npm ERR! gyp verb `which` succeeded python D:\Python27\python.EXE npm ERR! npm ERR! gyp verb check python version `D:\Python27\python.EXE -c "import sys; print "2.7.0 npm ERR! npm ERR! gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j npm ERR! npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 14.20.0 npm ERR! npm ERR! gyp verb command install [ '14.20.0' ] npm ERR! npm ERR! gyp verb install input version string "14.20.0" npm ERR! npm ERR! gyp verb install installing version: 14.20.0 npm ERR! npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed npm ERR! npm ERR! gyp verb install version is already installed, need to check "installVersion" npm ERR! npm ERR! gyp verb got "installVersion" 9 npm ERR! npm ERR! gyp verb needs "installVersion" 9 npm ERR! npm ERR! gyp verb install version is good npm ERR! npm ERR! gyp verb get node dir target node version installed: 14.20.0 npm ERR! npm ERR! gyp verb build dir attempting to create "build" dir: D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\build npm ERR! npm ERR! gyp verb build dir "build" dir needed to be created? D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\build npm ERR! npm ERR! gyp verb Not using VS2017: Could not use PowerShell to find VS2017 npm ERR! npm ERR! gyp verb build/config.gypi creating config file npm ERR! npm ERR! gyp verb build/config.gypi writing out config file: D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\build\config.gypi npm ERR! npm ERR! gyp verb config.gypi checking for gypi file: D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\config.gypi npm ERR! npm ERR! gyp verb common.gypi checking for gypi file: D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass\common.gypi npm ERR! npm ERR! gyp verb gyp gyp format was not specified; forcing "msvs" npm ERR! npm ERR! gyp info spawn D:\Python27\python.EXE npm ERR! npm ERR! gyp info spawn args [ npm ERR! npm ERR! gyp info spawn args 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\node-gyp\\gyp\\gyp_main.py', npm ERR! npm ERR! gyp info spawn args 'binding.gyp', npm ERR! npm ERR! gyp info spawn args '-f', npm ERR! npm ERR! gyp info spawn args 'msvs', npm ERR! npm ERR! gyp info spawn args '-G', npm ERR! npm ERR! gyp info spawn args 'msvs_version=auto', npm ERR! npm ERR! gyp info spawn args '-I', npm ERR! npm ERR! gyp info spawn args 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\node-sass\\build\\config.gypi', npm ERR! npm ERR! gyp info spawn args '-I', npm ERR! npm ERR! gyp info spawn args 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\node-gyp\\addon.gypi', npm ERR! npm ERR! gyp info spawn args '-I', npm ERR! npm ERR! gyp info spawn args 'C:\\Users\\23969\\.node-gyp\\14.20.0\\include\\node\\common.gypi', npm ERR! npm ERR! gyp info spawn args '-Dlibrary=shared_library', npm ERR! npm ERR! gyp info spawn args '-Dvisibility=default', npm ERR! npm ERR! gyp info spawn args '-Dnode_root_dir=C:\\Users\\23969\\.node-gyp\\14.20.0', npm ERR! npm ERR! gyp info spawn args '-Dnode_gyp_dir=D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\node-gyp', npm ERR! npm ERR! gyp info spawn args '-Dnode_lib_file=C:\\Users\\23969\\.node-gyp\\14.20.0\\<(target_arch)\\node.lib', npm ERR! npm ERR! gyp info spawn args '-Dmodule_root_dir=D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\node-sass', npm ERR! npm ERR! gyp info spawn args '-Dnode_engine=v8', npm ERR! npm ERR! gyp info spawn args '--depth=.', npm ERR! npm ERR! gyp info spawn args '--no-parallel', npm ERR! npm ERR! gyp info spawn args '--generator-output', npm ERR! npm ERR! gyp info spawn args 'D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\node-sass\\build', npm ERR! npm ERR! gyp info spawn args '-Goutput_dir=.' npm ERR! npm ERR! gyp info spawn args ] npm ERR! npm ERR! Warning: unrecognized setting VCCLCompilerTool/MultiProcessorCompilation npm ERR! npm ERR! Warning: unrecognized setting VCCLCompilerTool/MultiProcessorCompilation npm ERR! npm ERR! Warning: unrecognized setting VCCLCompilerTool/MultiProcessorCompilation npm ERR! npm ERR! Warning: unrecognized setting VCCLCompilerTool/MultiProcessorCompilation npm ERR! npm ERR! gyp verb command build [] npm ERR! npm ERR! gyp verb build type Release npm ERR! npm ERR! gyp verb architecture x64 npm ERR! npm ERR! gyp verb node dev dir C:\Users\23969\.node-gyp\14.20.0 npm ERR! npm ERR! gyp verb found first Solution file build/binding.sln npm ERR! npm ERR! gyp verb could not find "msbuild.exe" in PATH - finding location in registry npm ERR! npm ERR! gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe npm ERR! npm ERR! gyp info spawn args [ npm ERR! npm ERR! gyp info spawn args 'build/binding.sln', npm ERR! npm ERR! gyp info spawn args '/nologo', npm ERR! npm ERR! gyp info spawn args '/p:Configuration=Release;Platform=x64' npm ERR! npm ERR! gyp info spawn args ] npm ERR! npm ERR! gyp ERR! build error npm ERR! npm ERR! gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1 npm ERR! npm ERR! gyp ERR! stack at ChildProcess.onExit (D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-gyp\lib\build.js:262:23) npm ERR! npm ERR! gyp ERR! stack at ChildProcess.emit (events.js:400:28) npm ERR! npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:285:12) npm ERR! npm ERR! gyp ERR! System Windows_NT 10.0.26100 npm ERR! npm ERR! gyp ERR! command "D:\\Program Files\\nodejs\\node.exe" "D:\\Program Files\\nodejs\\node_cache\\_cacache\\tmp\\git-cloneuwf27x\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" npm ERR! npm ERR! gyp ERR! cwd D:\Program Files\nodejs\node_cache\_cacache\tmp\git-cloneuwf27x\node_modules\node-sass npm ERR! npm ERR! gyp ERR! node -v v14.20.0 npm ERR! npm ERR! gyp ERR! node-gyp -v v3.8.0 npm ERR! npm ERR! gyp ERR! not ok npm ERR! npm ERR! Build failed with error code: 1
05-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值