当前位置: 首页 > 编程日记 > 正文

图论--欧拉路,欧拉回路(小结)

在题目中在慢慢细说概念
1.HDU - 3018 Ant Trip
题目大意:又N个村庄,M条道路。问须要走几次才干将全部的路遍历

解题思路:这题问的是有关欧拉路的判定
欧拉路就是每条边仅仅能走一次,且要遍历全部的边,简单的说就是一笔画(图连通)
这道题是无向图的欧拉路。无向图的欧拉路的判定:全部点的度数都是偶数度,或者仅仅有两个点的度是奇数度,且图要是连通图

知道欧拉路是什么后,这题就比較好做了,第一件事就是找到有几个连通块,然后再推断一下每一个连通块须要几笔才干完毕就好了

#include <cstdio>
#include <cstring>
#include <map>
#include <vector>
using namespace std;
#define N 100010int node[N];
int n, m;
int p[N];
int vis[N], vis2[N];
int num[N];
map<int,int> M;int find(int x) {return x == p[x] ? x : p[x] = find(p[x]);
}void init() {M.clear();memset(node, 0, sizeof(node));memset(vis, 0, sizeof(vis));memset(num, 0, sizeof(num));memset(vis2, 0, sizeof(vis2));int x, y, px, py;for (int i = 0; i <= n; i++)p[i] = i;for (int i = 0; i < m; i++) {scanf("%d%d", &x, &y);px = find(x);py = find(y);if (px != py) {p[px] = py;}node[x]++;node[y]++;vis[x] = 1;vis[y] = 1;}
}void solve() {int cnt = 0;for (int i = 0; i <= n; i++) {if (vis[i]) {int x = find(i);if(!vis2[x]) {vis2[x] = 1;M[x] = cnt++;}}}for (int i = 0; i <= n; i++) {if (vis[i] && node[i] % 2) {int x = find(i);num[M[x]]++;}}int ans = cnt;for(int i = 0; i < cnt; i++) if(num[i])ans += ((num[i] - 1) / 2);printf("%d\n", ans);
}int main() {while (scanf("%d%d", &n, &m) != EOF) {init();solve();}return 0;
}

2.POJ - 1386 Play on Words

题目大意:问全部的单词是否能首尾相连

解题思路:这题也是求欧拉路的,仅仅只是这题是有向的
有向图的欧拉路判定:首先,要是连通的。接着就分成两种了,一种是全部点的入度等于出度,还有一种是仅仅有两个点的入度不等于出度。且当中一个点的入度比出度大一,还有一个点的出度比入度大一

#include <cstdio>
#include <cstring>
#include <cstdlib>
#define N 30
#define M 1010int in[N], out[N], n;
char str[M];
int p[N], vis[N];
int find(int x) {return x == p[x] ? x : p[x] = find(p[x]);
}void init() {scanf("%d", &n);for (int i = 0; i < N; i++)vis[i] = out[i] = in[i] = 0;for (int i = 0; i < N; i++)p[i] = i;int len, x, y, px, py;for (int i = 0; i < n; i++) {scanf("%s", str);len = strlen(str);x = str[0] - 'a';y = str[len - 1] - 'a'; in[x]++;out[y]++;vis[x] = 1;vis[y] = 1;px = find(x);py = find(y);if(px != py) {p[px] = py;}}
}bool connect() {int start = 0;for (; !vis[start]; start++);for (int i = start + 1; i < N; i++) {if (vis[i] && find(i) != find(start)) {return false;}}return true;
}void solve() {int cnt = 0; bool mark = false;bool flag1 = false, flag2 = false;for (int i = 0; i < N; i++) {if (in[i] - out[i] != 0) {cnt++;if (cnt >= 3)break;if (abs(in[i] - out[i]) != 1) {mark = true;break;}if (in[i] - out[i] == -1)flag1 = true;if (in[i] - out[i] == 1)flag2 = true;}}if(mark || cnt >= 3) {printf("The door cannot be opened.\n");return ;}bool flag3 = connect();if (cnt == 0 && flag3) {printf("Ordering is possible.\n");}else if (cnt == 2 && flag1 && flag2 && flag3) {printf("Ordering is possible.\n");}else {printf("The door cannot be opened.\n");}}int main() {int test;scanf("%d", &test);while (test--) {init();solve();}return 0;
}

下面的题目都要用到Fluery算法
3.POJ - 1041 John’s trip

题目大意:有n个城市,m条路,问是否能走遍全部的路,最后又回到起点

解题思路:问是否能形成欧拉回路,并要求输出路径的题目
首先是欧拉回路的判定,对无向图来说,全部的点的度数都为偶数就是欧拉回路了。对有向图来说。是全部的点的入度等于出度

事实上上面的判定我少加了一个条件,那就是图连通
这题是无向图的。所以判定起来比較简单,关键是怎样输出路径了
事实上这题是非常坑的,所要求的输出最小字典序,事实上并不须要,仅仅须要常规的输出就能够了
事实上这一题也不须要了解fluery算法,仅仅须要dfs输出就能够了。dfs能够保证路线连通,在设置一个标记就能够输出全部路径了

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <stack>
#include <vector>
using namespace std;
#define N 2000
#define M 50struct Edgs{int junc, street;Edgs(int s = 0, int j = 0) : junc(j), street(s) {}
};int degrees[M];
vector<Edgs> E[N];
stack<int> stk;
bool vis[N];
int Max, x, y, z;void Euler(int u) {for (int i = 0; i < E[u].size(); i++) {if (!vis[E[u][i].street]) {vis[E[u][i].street] = true;Euler(E[u][i].junc);stk.push(E[u][i].street);}}
}void solve() {for (int i = 0; i < M; i++) {if (degrees[i] & 1) {printf("Round trip does not exist.\n");return ;}}Euler(Max);while (!stk.empty()) {printf("%d ", stk.top());stk.pop();}printf("\n");
}void init() {scanf("%d", &z);Max = max(x, y);memset(degrees, 0, sizeof(degrees));memset(vis, 0, sizeof(vis));for(int i = 0; i < N; i++)E[i].clear();E[x].push_back(Edgs(z,y));E[y].push_back(Edgs(z,x));degrees[x]++;degrees[y]++;while(scanf("%d%d", &x, &y) && x + y) {scanf("%d", &z);E[x].push_back(Edgs(z,y));E[y].push_back(Edgs(z,x));degrees[x]++;degrees[y]++;}
}int main() {while (scanf("%d%d", &x, &y) != EOF && x + y) {init();solve();}return 0;
}

4.POJ - 2230 Watchcow

题目大意:有N个点,M条边,要求每条边都走两次。且最后回到原点,输出走的点

解题思路:每条边走两次,不就相当于把一条边变成两条边吗,那就变成两条边再去遍历就能够了

#include <cstdio>
#include <cstring>
#include <vector>
using namespace std;
#define N 10010vector<int> Edgs[N];
int n, m;
int vis[N];void init() {for (int i = 1; i <= n; i++)Edgs[i].clear();int x, y;for (int i = 0; i < m; i++) {scanf("%d%d", &x, &y);Edgs[x].push_back(y);Edgs[y].push_back(x);}
}void Euler(int u) {int tmp;for (int i = 0; i < Edgs[u].size(); i++) {tmp = Edgs[u][i];if(!tmp)continue;Edgs[u][i] = 0;Euler(tmp);}printf("%d\n", u);
}int main() {while (scanf("%d%d", &n, &m) != EOF ) {init();Euler(1);}return 0;
}

5.POJ - 2404 Jogging Trails

插播一题欧拉回路+floyd+状态压缩的题目

题目大意:有N个点,M条路。每条路都有对应的权值。如今有一个人想把全部的路都跑遍,最后又回到原点。问最小权值是多少

解题思路:跑欧拉回路的话,肯定能使权值到达最小。
所以问题就变成了,通过增边将M条路构造成欧拉回路
问题进一步变成了怎样增边才干使权值达到最低,这就须要用到状态压缩dp了

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;
#define N 20
#define INF 0x3f3f3f3f
#define S (1<<15)int n, m, ans;
int dis[N][N], degrees[N], dp[S];void floyd() {for (int k = 0; k < n; k++)for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)if(dis[i][k] != INF && dis[k][j] != INF && dis[i][j] > dis[i][k] + dis[k][j])dis[i][j] = dis[i][k] + dis[k][j];
}int dfs(int state) {if (state == 0) { return 0;}if (dp[state] != -1) {return dp[state];}dp[state] = INF;for (int i = 0; i < n; i++) {if (state & (1 << i)) {for (int j = 0; j < n; j++) {if ((state & (1 << j)) && i != j) {dp[state] = min(dp[state], dfs(state ^ (1 << i) ^ (1 << j)) + dis[i][j]);} }}}return dp[state];
}void solve() {int state = 0;for (int i = 0; i < n; i++) {if (degrees[i] % 2) {state |= (1 << i);}}memset(dp, -1,sizeof(dp));ans += dfs(state);printf("%d\n", ans);
}void init() {ans = 0;memset(dis, 0x3f, sizeof(dis));for (int i = 0; i < N; i++) degrees[i] = 0;for (int i = 0; i < n; i++)dis[i][i] = 0;int x, y, z;scanf("%d", &m);for (int i = 0; i < m; i++) {scanf("%d%d%d",&x, &y, &z);dis[x - 1][y - 1] = dis[y - 1][x - 1] = min(dis[x - 1][y - 1], z);ans += z;degrees[x - 1]++;degrees[y - 1]++;}floyd();
}int main() {while (scanf("%d", &n) != EOF && n) {init();solve();}return 0;
}

6.POJ - 2337 Catenyms

题目大意:这题就比較有难度了。问是否能将字符串头尾相连,假设能够的话,输出字典序最小的字符串

解题思路:參考了学长的。有向欧拉路的推断就不说了,关键是怎样输出字典需最小的
首先。先给全部的字符串排序
依照fleury算法。输出时根据栈里的内容输出,而栈是从顶究竟输出的。也就是说。压栈的时候。先将字典序大的压栈就可以

#include <cstdio>
#include <cstring>
#include <stack>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
#define N 30
#define M 1010vector<int> v[N];
int vis[M], p[N], in[N], out[N];
char word[M][N];
int n;
stack<int> stk;int find(int x) {return x == p[x] ? x : p[x] = find(p[x]);
}
void output() {while (!stk.empty()) {printf("%s", word[stk.top()]);stk.pop();if (!stk.empty()) {printf(".");}}
}int cmp (const void *a, const void *b) {return strcmp((char *)a, (char *)b);
}void push (int u, int v) {for (int i = n - 1; i >= 0; i--) {if(!vis[i] && word[i][0] - 'a' == u && word[i][strlen(word[i]) - 1] - 'a' == v)  {stk.push(i);vis[i] = 1;return ;}}
}
void dfs(int u) {while (!v[u].empty()) {int tmp = *(v[u].begin());v[u].erase(v[u].begin());dfs(tmp);push(u, tmp);}
}void solve() {int root;for (int i = 0; i < N; i++) {if (vis[i]) {root = find(i);break;}}for (int i = 0; i < N; i++) {if (vis[i] && find(i) != root) {printf("***");return ;}}int start = 0, cnt;for (int i = 0; i < N; i++) {if (abs(in[i] - out[i]) > 1) {printf("***");return ;}if (abs(in[i] - out[i]) == 1) {cnt++;if(in[i] - out[i] == 1)start = i;}}if(cnt > 2) {printf("***");return ;}if(!cnt)start = word[0][0] - 'a';memset(vis, 0, sizeof(vis));dfs(start);output();
}void init() {scanf("%d", &n);for (int i = 0; i < n; i++)scanf("%s", word[i]);qsort(word, n, sizeof(word[0]), cmp);memset(vis, 0, sizeof(vis));for (int i = 0; i < N; i++) {v[i].clear();in[i] = out[i] = 0;p[i] = i;}int x, y;for (int i = 0; i < n; i++) {x = word[i][0] - 'a';y = word[i][strlen(word[i]) - 1] - 'a';v[x].push_back(y);vis[x] = vis[y] = 1;in[x]++;out[y]++;p[find(x)] = find(y);}
}int main() {int test;scanf("%d", &test);while(test--) {init();solve();printf("\n");}return 0;
}

接下来的题目,算是欧拉路的应用吧

7.UVA - 10040 Ouroboros Snake

题目大意:有个轮子上面有2 * n个数字,有n个数字是0,n个数字是1。这个轮子非常奇妙,在纸上滚动时。会将轮子上面的0。1印在纸张上。细致看纸张上面的数字,从头開始。分别从第1个到第2^n个截取出长度为n的二进制数,会发现这些二进制数包括了0—-(1 << n)-1的全部数
如今要求你按规则输出第k个开头,长度为n的二进制数

解题思路:由于包括了全部0–(1 << n)-1的数。这些长度为n的二进制数都是0-1构成的,且全部的出度等于入度,所以这就形成了一个欧拉回路了
因此在构造这个轮子在纸张上打印的字时能够依照输出欧拉回路的方法构造。

具体的能够看这篇文章。里面有对代码的具体讲解代码具体解释

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 16
#define S (1<<16)
int pow2[N];
bool vis[S][2];
int ans[S];
int cnt, n, k;
void erule(int s) {for (int i = 0; i < 2; i++) {if (!vis[s][i]) {vis[s][i] = true;erule(((s << 1) + i) % pow2[n - 1]);ans[cnt++] = i;}}
}int main() {pow2[0] = 1;for (int i = 1; i < N; i++)pow2[i] = pow2[i - 1] * 2;while (scanf("%d%d", &n, &k) != EOF && n + k) {memset(vis, 0, sizeof(vis));memset(ans, 0, sizeof(ans));cnt = 0;erule(0);cnt += n - 2 - k;int t = 0;for (int i = 0; i < n; i++)t = t * 2 + ans[cnt--];printf("%d\n", t);}return 0;
}

8.HDU - 2894 DeBruijin
这题跟上一题相似

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 16
#define S (1<<16)
int pow2[N];
bool vis[S][2];
int ans[S];
int cnt, n, k;
void erule(int s) {for (int i = 0; i < 2; i++) {if (!vis[s][i]) {vis[s][i] = true;erule(((s << 1) + i) % pow2[n - 1]);ans[cnt++] = i;}}
}int main() {pow2[0] = 1;for (int i = 1; i < N; i++)pow2[i] = pow2[i - 1] * 2;while (scanf("%d", &n) != EOF && n) {memset(vis, 0, sizeof(vis));memset(ans, 0, sizeof(ans));cnt = 0;erule(0);printf("%d ", pow2[n]);cnt += n - 2;for (int i = pow2[n]; i > 0; i--)printf("%d",ans[cnt--]);printf("\n");}return 0;
}

9.POJ - 1780 Code

这题的话。我就当个搬运工。附上大神的具体讲解
具体讲解

#include <cstdio>
#include <cstring>
using namespace std;
#define N 1000010char ans[N];
bool vis[N];
int pow10[8];
int n;void solve() {if(n == 1) {printf("0123456789\n");return ;}memset(vis, 0, sizeof(vis));for (int i = 0; i < n; i++)ans[i] = '0';int cur = n, now = 0, i = 0;vis[0] = true;while (cur < pow10[n] + n - 1) {now %= pow10[n - 1];for (; i < 10; i++) {if (!vis[now * 10 + i]) {vis[now * 10 + i] = true;now = now * 10 + i;ans[cur++] = i + '0';i = 0;break;}}if (i == 10 && cur < pow10[n] + n - 1) {cur--;now = (ans[cur - n + 1] - '0') * pow10[n - 1] + now;vis[now] = false;i = now  % 10 + 1;now /= 10;}}ans[cur] = '\0';printf("%s\n", ans);
}void init() {pow10[0] = 1;for (int i = 1; i < 8; i++)pow10[i] = pow10[i - 1] * 10;
}int main(){init();while (scanf("%d", &n) != EOF && n) {solve();}return 0;
}

转载于:https://www.cnblogs.com/blfbuaa/p/6999527.html

相关文章:

轻松一下,看看vs.net2002变态的智能提示,不知道算不算bug

https://images.cnblogs.com/cnblogs_com/jjstar/2750/r_joke.jpg转载于:https://www.cnblogs.com/jjstar/archive/2004/08/27/36953.html

C++构造函数(一)

本篇是介绍C的构造函数的第一篇&#xff08;共二篇&#xff09;&#xff0c;属于读书笔记&#xff0c;对C进行一个系统的复习。 构造函数的概念和作用 全局变量未初始化时为0&#xff0c;局部变量未初始化时的值却是无法预测的。这是因为&#xff0c;全局变量的初始化是再程序装…

CSS之布局(行内元素的盒模型)

行内元素的盒模型&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>行内元素的盒模型</title><style>.s1{background-color: yellow;/*行内元素的盒模型&#xff1a;-行内元素不支持设置宽度和高度…

es安装的时候遇到的所有的坑

不允许root用户启动。 解决办法&#xff0c;创建子用户。 在linux下需要注意。es默认不能用root用户启动。我们需要新建一个用户来启动。 groupadd es adduser es-user -g 用户组 -p 密码 #新建一个es-user用户 密码可以省略 chown -R es-user:es /usr/local/elk/ …

MD5 - Bump Mapping

使用《mathematics for 3d game programming & computer graphics》中介绍的方法计算tangent basis.需要注意的一点是&#xff0c;在计算tangent basis的时候&#xff0c;最好是采用顶点的法线而非三角形的&#xff0c;否则将会产生非常严重的不平滑过渡。没有开启Bump Map…

『03网络』 实验一:多功能浏览器的使用和个人Blog的创建和使用

实验一&#xff1a;多功能浏览器的使用和个人Blog的创建和使用<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />一、 实验目的1、熟悉各种浏览器的使用和配置&#xff1b;2、创建个人Blog&#xff0c;并加以完善。二、 …

SQL Server 最佳实践分析器使用小结

Best Practices Analyzer Tool for Microsoft SQL Server 2000是Microsoft SQL Server开发团队开发的一个数据库管理工具&#xff0c;可以让你检测设计的数据库是否遵循SQL Server操作和管理的最佳实践准则。这些准则公认有助于提高数据库的性能和效率&#xff0c;并让应用程序…

Vue 框架-02-事件:点击, 双击事件,鼠标移上事件

Vue 框架-02-事件&#xff1a;点击, 双击事件,鼠标移上事件 1.单击事件&#xff1a;v-on:click 源码 app2.js &#xff1a; //实例化 vue 对象 new Vue({//注意代码格式//el&#xff1a;element 需要获取的元素&#xff0c;一定是 html 中的根容器元素el:"#vue-app",…

HTML5 canvas绘制雪花飘落

Canvas是HTML5新增的组件&#xff0c;它就像一块幕布&#xff0c;可以用JavaScript在上面绘制各种图表、动画等。没有Canvas的年代&#xff0c;绘图只能借助Flash插件实现&#xff0c;页面不得不用JavaScript和Flash进行交互。有了Canvas&#xff0c;我们就再也不需要Flash了&a…

CSS之布局(默认样式)

默认样式&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>默认样式</title><!--重置样式表&#xff1a;专门用来对浏览器的样式进行重置的reset.css 直接去除浏览器的默认样式normalize.css 对默认样…

Junit资料汇集

Junit资料汇集 提交时间: 2004-2-24 17:23:10 回复 发消息 JUnit入門http://www.dotspace.twmail.org/Test/JUnit_Primer.htm怎样使用Junit Framework进行单元测试的编写http://www.chinaunix.net/bbsjh/14/546.htmlAntJunitLog4JCVS进行XP模式开发的建立http://ejb.cn/modu…

LESS 的 operation 是 特性

LESS 的 operation 是 特性&#xff0c;其实简单的讲&#xff0c;就是对数值型的 value&#xff08;数字、颜色、变量等&#xff09;进行加减乘除四则运算。 例&#xff1a; 清单 1 . LESS 文件 12345init: #111111; transition: init*2; .switchColor { color: transition; }经…

测一测你的blog魔症有多严重

测一测你的blog魔症有多严重 在Donews.net那里看到了这个有趣的测试&#xff1a;Are You a Blogaholic? 用来测试你对Blog的迷恋程度。 下面是我的得分与评价&#xff1a;14058 people have taken this silly test so far. 3626 people have scored higher than you. 9297 pe…

CSS之布局(盒子的尺寸)

盒子的尺寸&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>盒子的尺寸</title><style>.box1{width: 100px;height: 100px;background-color: #BBFFAA;padding: 10px;border: 10px solid red;/*默…

自己写的一个测试函数执行效率的单元(test on Delphi 7)

运用了一点技巧来实现对函数进行效率测试使用方法:uses Profile;.......function TForm1.Func1():string;begin TFunctionTimeProfiler.ExecuteTest(ClassName, Func1); //这里会创建一个接口实例,并开始测试; 此实例会自动释放并结束测试 ....end;程序最后退出会自动生…

datatable自动增加序号

{"targets": [0],"visible": true,"render": function (data, type, full, meta) {var id full.id;if (id) {return meta.row 1 meta.settings._iDisplayStart;} else {return ;}} },此方法有点小bug,推荐用下面的方法。 var table $(#myTabl…

CSS之布局(轮廓和圆角)

轮廓和圆角&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>轮廓和圆角</title><style>.box1{width: 200px;height: 200px;background-color: #BBFFAA;/*box-shadow用来设置元素的的阴影效果&…

Idea项目遇到的错误整理

解决方案 1.Maven 加入新的子模块module, 重新编译报错&#xff1a;找不到类/符号/程序包 需要清空Idea缓存&#xff0c;重新编译 File -> Invalidate Cahes... 转载于:https://www.cnblogs.com/atongmumu/p/7027050.html

对不起,我爱你

在学校上传了一部“对不起&#xff0c;我爱你”&#xff0c;据说很多人都喜欢看&#xff0c;对我 而言没有时间去看了&#xff0c;不过原声大碟倒是常常放到我的“Beep-media-player”里边&#xff0c;大四了&#xff0c;也常常觉得时间的珍贵&#xff0c;许多事情仿佛也懂了许…

流水账,从我开始接触计算机时写起

我第一次接触计算机是在读初二的时候&#xff0c;每周有一节微机课&#xff0c;记得那时大家都挺喜欢上这门课的&#xff0c;一到上课时间就往机房冲&#xff0c;生怕自己去晚了占不了机子&#xff0c;我也是懵懵懂懂的在老师的指导下&#xff0c;在一台黑白屏的电脑上学会了打…

装饰模式(Decorator)

1、概念 装饰模式动态地给一个对象添加一些额外的职责。就扩展功能而言&#xff0c;它比生成子类方式更为灵活&#xff0c;属于结构性模式一种。 2、模式结构 抽象组件角色(Component)&#xff1a;定义一个对象接口&#xff0c;以规范准备接受附加责任的对象&#xff0c;即可以…

css 背景样式学习

背景样式主要有5个属性&#xff1a; 1. background-color 背景颜色 2.background-img 背景图像 3.background-repeat 背景图像如何重复(no-repeat repeat repeat-x repeat-y inherit) 4.background-position 定位背景图像位置(top right bottom left center) 5.background-at…

CSS之定位(定位/相对定位)

定位/相对定位&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>定位/相对定位</title><style>body{font-size: 60px;}.box1{width: 200px;height: 200px;background-color: #bfa;}.box2{width:…

GARFIELD@01-24-2005

the kickoff of not being bored 转载于:https://www.cnblogs.com/rexhost/archive/2005/01/24/96477.html

(To Me Just)c#中的WebBrowser类的使用注意事项!

Visual C# 打造 “浏览器” try { if(tabControl.SelectedIndex 0) { axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_SAVEAS, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT); } else if(tabControl.SelectedIndex 1) { …

CSS之定位(绝对定位)

绝对定位&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>绝对定位</title><style>body{font-size: 60px;position: relative;}.box1{width: 200px;height: 200px;background-color: #bfa;}.bo…

python pexpect包的一些用法

转自&#xff1a;https://www.jianshu.com/p/cfd163200d12 mark一下&#xff0c;原文中写的挺详细 转载于:https://www.cnblogs.com/renxchen/p/9935888.html

编译工具 之 ant

一、概述需要设置的环境变量&#xff1a;JAVA_HOME"D:\JDK",ANT_HOME"D:\ant",PATH".,%JAVA_HOME%\bin,%ANT_HOME%bin"运行&#xff1a;ant -buildfile test.xml -Dbuildbuild/classes dist&#xff08;含义为&#xff1a;执行test.xml的编译脚本…

微酷WeiKuCMS现赠送高速开发系统软件。公司、程序猿的福音呀!

我国电子商务面临的问题。淘宝退出百度无疑是一个遗憾。当在网上购物时。用户面临的一个非常大的问题就是怎样在众多的站点找到自己想要的物品。并以最低的价格买到。自从淘宝退出百度。建立自己的搜索引擎后。广大消费者再也不能再百度里面直接搜索有关淘宝的商品了&#xff0…

网友为对百合所唱的最后的挽歌!(节选)

dudu&#xff0c;不要删好吗&#xff0c;太郁闷了&#xff0c;太郁闷了&#xff0c;太郁闷了 sigh, 如果真的3.20日是末期的话&#xff0c;我所承诺的开源&#xff0c;只不过是一个玩笑罢了 参见&#xff1a;http://bbs.nju.edu.cn/blogall 网友为对百合所唱的最后的挽歌&#…