首页 > TAG信息列表 > tempX
蓝桥杯 正则问题 JAVA
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] arrC = sc.next().toCharArray(); Stack<Character> sk = new Stack<>(); for (int i第 2 章:初出茅庐【初级篇 - 2.1 穷竭搜索】
目录 201. 部分和问题【爆搜】202. 水洼计数 Lake Counting【连通块】203. 迷宫的最短路径【bfs】 201. 部分和问题【爆搜】 https://www.papamelon.com/problem/201 #include<bits/stdc++.h> using namespace std; const int N=25; typedef long long int LL; LL a[N],Acwing第 23 场周赛【完结】
目录 4003. 完全平方数【签到】4004. 传送阵【floodfill 暴力】4005. 取石子游戏【博弈论】 4003. 完全平方数【签到】 https://www.acwing.com/problem/content/4006/ #include<bits/stdc++.h> using namespace std; int n; int main(void) { cin>>n; int ans=-1e9;1098. 城堡问题【搜索 求连通块】
https://www.acwing.com/problem/content/description/1100/ 本质就是一个求连通块的问题,但是因为墙的限制有的不可以走。 你会发现墙分别为 1 2 4 8 故可以用位运算的思想来判断可不可以走即可。 #include<bits/stdc++.h> using namespace std; const int N=105; int n,m,a剑指 Offer II 003. 前 n 个数字二进制中 1 的个数
解法一: 十进制转为二进制,统计1的个数 class Solution: def Ten2Binary(self, x): res = [] if x == 0: res = [] while x >= 1: tempx = x // 2 if x - 2 * tempx == 1: res.append(x - 2 *4127:迷宫问题,考点:广搜
原题:http://bailian.openjudge.cn/practice/4127/ 描述 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找计算机图形学中点画线法(MFC)
第一部分 原理 函数:F(x,y)=ax+by+c=0; (x0,y0),(x1,y1)是两个端点 1.当K>1时,y作为自变量,求x,则: a=y0-y1 b=x1-x0 d0=2b+a; 从(x0,y0)起点开始:每次y++ 若d0>0,则取中点左边的点,下一个点的d=d0+2(a+b); d0<0,则取中点右边的点,下一个点的d=d0+2b; 重复直到终点。(PS:竖着看图) 例子: 从(2019蓝桥杯国赛C++B组填空部分题解
1. 求等差数列,直接暴力破解 #include<iostream> using namespace::std; int main() { for(int i=2019;i<10000;i++) { for(int j=i+1;j<10000;j++) { if(i*i-2019*2019==j*j-i*i) { cout << i <&1320: [蓝桥杯2017初赛]方格分割 【中 / dfs / 有意思】
http://oj.ecustacm.cn/problem.php?id=1320 思路: 中心点分别向两边对称的走。最后结果除以4,因为4个方向可以翻转。 #include<cstdio> #include<iostream> using namespace std; int n=6; int ans; int dx[4]={-1,0,1,0}; int dy[4]={0,1,0,-1}; int vis[7][7]; void dfs第八届蓝桥杯省赛C/C++B组 试题4:方格分割
答案:509 #include <cstdio> int ans = 0; bool vis[10][10] = {false}; int X[4] = {1, -1, 0, 0}; int Y[4] = {0, 0, 1, -1}; void dfs(int x, int y){ if(x<=0 || x>=6 || y<=0 || y>=6){ ans++; return; } for(int i=0; i<4; i++){ int