河南省第十三届ICPC大学生程序设计竞赛——I题 七便士
2021/5/31 1:20:28
本文主要是介绍河南省第十三届ICPC大学生程序设计竞赛——I题 七便士,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
思路:DFS寻找
当时写的没思路,睡觉去了,靠着两个队友一直对拍过的,主要考虑num=7的情况
#include<bits/stdc++.h> using namespace std; int a[10]; bool ans = false; int num = 0; void DFS() { for (int i = 1; i <= 8; i++) { if(a[i]==0) //当前位置未放置硬币,分别分析第(i+2)%8+1和a[(i+4)%8+1个位置 { if(a[(i+2)%8+1]==0) { a[i] = 1; num++; if (num == 7) { ans = true; //标记 return; } DFS(); if (num == 7) return; a[i] = 0; //回溯 num--; } if(a[(i+4)%8+1]==0) { a[i] = 1; num++; if (num == 7) { ans = true; return; } DFS(); if (num == 7) return; a[i] = 0; num--; } } } } int main() { int t; cin >> t; while(t--) { string s; //字符串 num = 0; ans = false; cin >> s; for (int i = 1; i <= 8; i++) { a[i] = s[i - 1] - '0'; //将字符串转化成数字型数组 if (a[i] == 1) //若当前位置放置了硬币 num++; //num加一 } if (num == 7) cout << "Yes" << endl; //当满足题目条件时,放满七个输出Yes else { DFS(); //深度查找 cout << (ans ? "Yes" : "No") << endl; //判断输出 } } return 0; }
这篇关于河南省第十三届ICPC大学生程序设计竞赛——I题 七便士的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解