- 博客(54)
- 资源 (5)
- 收藏
- 关注
翻译 实施组播
目录介绍步骤1:运行(不完整的)入门代码步骤2:执行L2多播步骤3:执行您的解决方案介绍本练习的目的是编写一个P4程序,该程序将数据包多播到一组端口。交换机收到以太网数据包后,将根据目标MAC地址查找输出端口。 如果未命中,则交换机在属于多播组的端口上广播数据包(如果ingress port入口端口出现在该组中,则该数据包将被丢弃在egress pipeline出口管道中)。您的交换机将只有一个表,控制平面将使用静态规则填充该表。 每个规则都会将以太网MAC地址映射到输出端口
2021-03-22 22:46:23
636
转载 P4/tutorials/exercises 官方练习
写在前面Basic Forwarding (基础ipv4转发)Basic Tunneling(隧道)P4Runtime(控制器)Explicit Congestion Notification(显示拥塞通知)Multi-Hop Route Inspection(多条路由检测)Source Routing(源路由)Calculator(计数)Load Balancing(负载均衡)Quality of Service(服务质量)Firewall(防火墙)Link Monitoring(链路监控) .
2021-02-27 08:11:53
3709
翻译 负载均衡
负载均衡目录负载均衡步骤1:运行(不完整的)入门代码关于控制平面的注释步骤2:实施负载平衡步骤3:运行您的解决方案故障排除清理Mininet在本练习中,您将基于简单版的等价多路径转发实现一种负载均衡形式。 您将实现的交换机将使用两个表将数据包随机转发到两个目标主机之一。 第一个表将使用哈希函数(应用于由源和目标IP地址,IP协议以及源和目标TCP端口组成的5元组)来选择两个主机之一。 第二个表将使用计算出的哈希值将数据包转发到所选主机。步骤1:运行(不完整的)入门代码
2021-02-11 10:42:58
977
翻译 实施源路由
实施源路由目录实施源路由介绍步骤1:运行(不完整的)入门代码步骤2:实施源路由步骤3:运行您的解决方案思考疑难解答清理Mininet翻译P4 tutorials exercises的README文档,摘要转载自https://blog.youkuaiyun.com/weixin_42896572/article/details/110545663?spm=1001.2014.3001.55011. 实现的功能 按照发送方主机输入时,自定义的端口顺序进行转发操作,...
2021-02-10 16:20:26
1027
翻译 实现多跳路由检测(MRI)
实现多跳路由检测(MRI)目录实现多跳路由检测(MRI)介绍步骤1:运行(不完整的)入门代码关于控制平面的注释步骤2:实现MRI步骤3:运行您的解决方案疑难解答清理Mininet介绍本教程的目的是通过带内网络遥测(INT)的缩小版本来扩展基本的L3转发,我们将其称为多跳路由检查(MRI)。MRI允许用户跟踪每个数据包通过的路径和队列长度。 为了支持此功能,您将需要编写一个P4程序,该程序将ID和队列长度附加到每个数据包的标头堆栈中。 在目的地,交换机ID的序列
2021-02-09 23:06:50
1348
1
原创 汇编语言(王爽第三版)实验1 查看CPU和内存,用机器指令和汇编指令编程
实验1 查看CPU和内存,用机器指令和汇编指令编程1.预备知识:Debug的使用我们以后所有的实验中,都将用到debug程序,首先学习一下它的主要用法。(1)什么是Debug?Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。 &nbs...
2019-04-06 22:23:06
2586
原创 字符串移位包含问题
描述:对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。输入:一行,包含两个字符串,中间由单个空格隔开。字...
2018-11-27 16:42:24
966
原创 计蒜客-整数转换成罗马数字
给定一个整数 num,将整数转换成罗马数字。如 1,2,3,4,5 对应的罗马数字分别为I,II,III,IV,V等,更详细的说明见此 链接。输入格式第一行输入一个整数 num(1≤num≤3999)。输出格式输出 num 对应的罗马数字。样例输入123样例输出CXXIII代码如下:#include<bits/stdc++.h> us...
2018-10-10 15:53:21
217
原创 计蒜客-罗马数字转换成整数
给定一个罗马数字 s,将罗马数字转换成整数。如罗马数字I,II,III,IV,V分别代表数字 1, 2, 3, 4, 5。首先要来了解一下罗马数字表示法,基本字符有 77 个:I、V、X、L、C、D、M,分别表示 1、5、10、50、100、500、1000。在构成数字的时候,有下列规则:1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:III=3;2、小的数字在大的...
2018-10-10 15:42:57
254
原创 UVA 10474 Where is the Marble?
Where is the Marble? Raju and Meena love to play with Marbles. They have got a lot of marbles with numbers written on them. At the beginning, Raju would p...
2018-10-09 16:15:06
162
原创 1082. 字符环
题目描述有两个字符构成的环。请写一个程序,计算这两个字符环上最长公共字符串的长度。例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环;字符串“MADJKLUVKL”的首尾连在一起,构成一个另一个环;“UVKLMA”是这两个环的一个公共字符串。输入若干行,每行包括两个不包含空格的字符串。这两个字符串用空格分开。若其中某个字符串的长度为1,则表示结束。否则,每...
2018-10-05 22:21:33
3305
3
原创 string——erase用法
erase的3种用法:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, iterator last ); erase(pos,n); 删除从pos开始的n个字符,比如...
2018-10-05 21:20:47
2844
原创 1080. 统计字符
题目描述Johe最近玩起了字符游戏,规则是这样的:读入四行字符串,其中的字母都是大写的,Johe想打印一个柱状图显示每个大写字母的频率。你能帮助他吗?输入输入文件共有4行:每行为一串字符,不超过100个字符。 输出与样例的格式保持严格一致。样例输入THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.THIS IS AN EXAM...
2018-10-05 20:37:45
547
原创 UVA 10044 - Erdos Numbers
代码如下:#include <iostream>#include <map>#include <memory.h>using namespace std;const int maxn = 10000;map<string,int> name;string Erdos = "Erdos, P.";int relation[maxn]...
2018-10-04 17:38:24
292
转载 getline()的使用详解
一、getline(&nbsp;)&nbsp;int main(){ string line: while(getline(cin,line)) cout&lt;&lt;line&lt;&lt;endl; return 0;}getline()的原型:头文件:#include&nbsp;&lt;string&gt;istr
2018-10-04 17:12:46
5014
原创 POJ 2445 Squares (未优化)
A children’s board game consists of a square array of dots that contains lines connecting some dots. One part of the game requires that the players count the number of squares that are formed by these...
2018-09-23 19:04:07
423
原创 Uva 201 Squares (暴力 + 枚举)
代码如下:#include <iostream>#include <stdio.h>#include <bits/stdc++.h>#include <string.h>using namespace std;int n,m;int h[105][105];int v[105][105]; int main(){ i...
2018-09-23 18:55:44
187
原创 POJ 2239 Selecting Courses (二分匹配)
思路:思路:将课程与上课时间建立边关系,构成二分图,求二分图的最大匹配。代码如下:#include<stdio.h>#include<string.h>#include<vector>using namespace std;const int N = 1005;int vis[N],match[N];vector<int>G[N]...
2018-09-22 17:53:42
191
原创 POJ1321棋盘问题 dfs
Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , ...
2018-09-22 15:03:49
184
原创 CCF201809-02 卖菜
待编辑代码如下:#include<bits/stdc++.h>using namespace std;int t[1000001];int main(){ int n,a,b,c,d; int max=0; int count=0; cin>>n; for(int i=1;i<=n;i++){ cin>>a>>b; ...
2018-09-22 13:03:44
935
原创 CCF201809-01 卖菜
问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个正整数的价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个...
2018-09-22 12:56:08
1463
1
原创 CCF201809-4 再买菜
问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个正整数的价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。 注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个...
2018-09-22 12:52:05
1253
原创 1078. 奇怪的电梯
题目描述大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3 3 1 2 5代表了Ki(K1=3,K2=3,……),从一楼开始。在一楼,按“上”可以到4楼,按“下”是不起作用的,因为没有-2楼。那么,从A楼到...
2018-09-20 23:32:01
647
原创 1077. 自然数的拆分问题
题目描述任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。拆分成的数字相同但顺序不同被看做是相同的方案,如果1+3与3+1被看做是同一种方案。输入输入待拆分的自然数n。输出如样例输出若干个拆分方案(具体见样例)。样例输入7样例输出1+1+1+1+1+1+11+1+1+1+1+21+1+1+1+31+1+1+2+21+1+1+41+1+2+31+1+51...
2018-09-20 22:46:15
817
原创 10进制转换为N进制
进制转换给定一个十进制整数N,求其对应2进制数中1的个数Input第一个整数表示有N组测试数据,其后N行是对应的测试数据,每行为一个整数。OutputN行,每行输出对应一个输入。Sample Input42100100066Sample Output1362#include <stdio.h> #define BASE 2#define ONE...
2018-09-17 23:28:49
2854
转载 vector的使用总结及常用vector操作
一、C++ vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分,使用时需包含头文件:#include <vector>二、C++ vector类有两种使用方式:第一种:STL方式vector< string > text;1. 我们向 vector 中插入元素,而不再是索引元素,以及向元素赋值...
2018-09-07 11:55:41
1447
1
原创 1077. 自然数的拆分问题
题目描述任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。拆分成的数字相同但顺序不同被看做是相同的方案,如果1+3与3+1被看做是同一种方案。输入输入待拆分的自然数n。输出如样例输出若干个拆分方案(具体见样例)。样例输入7样例输出1+1+1+1+1+1+1 1+1+1+1+1+2 1+1+1+1+3 1+1+1+2+2 1+1+1+4 1...
2018-09-05 12:49:51
1249
原创 1076. 进制转换
题目描述用递归算法将一个十进制数X(1<=X<=10^9)转换成任意进制数M(2<=M<=16)。 输入一行两个正整数X和M。输出输出X的M进制的表示。样例输入31 16样例输出1F思路:本题若直接应用字符串,则十分简洁。代码一(递归算法):#include <bits/stdc++.h>using namesp...
2018-09-05 08:01:21
830
转载 next_permutation(全排列算法)
STL提供了两个用来计算排列组合关系的算法,分别是next_permutation和prev_permutation。首先我们必须了解什么是“下一个”排列组合,什么是“前一个”排列组合。考虑三个字符所组成的序列{a,b,c}。 这个序列有六个可能的排列组合:abc,acb,bac,bca,cab,cb...
2018-09-04 17:55:58
323
转载 1074. 2的幂次方表示
题目描述任何一个正整数都可以用2的幂次方表示。例如:137=2^7+2^3+2^0。同时约定方次用括号来表示,即a^b可表示为a(b)。由此可知,137可表示为:2(7)+2(3)+2(0)。 进一步:7=2^2+2+2^0(21用2表示),3=2+2^0 所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如:1315=2^10+2^8...
2018-09-04 12:23:22
664
1
转载 1073. 放苹果
题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的放法(放法数用K表示)。如在7个苹果3个盘子的情况下, 5,1,1和1,5,1 是同一种放法。输入第一行是测试数据的数目t(0<=t<= 20)。以下每行均包含二个整数M和N(1<=M,N<=10),以空格分开。输出对输入的每组数据M和N,用一行输出相应的K。样例输...
2018-09-04 11:10:19
373
原创 1070. 汉诺塔游戏
题目描述汉诺塔由编号为1到n大小不同的圆盘和三根柱子a,b,c组成,编号越小盘子越小。开始时,这n个圆盘由大到小依次套在a柱上,如图1.6.3所示。要求把a柱上n个圆盘按下述规则移到c柱上: ①一次只能移一个圆盘,它必须位于某个柱子的顶部; ②圆盘只能在三个柱子上存放; ③任何时刻不允许大盘压小盘。 将这n个盘子用最少移动次数从a柱移动到c柱上,输出每一步的移动方法。输入只有一...
2018-09-03 18:51:40
1013
原创 1069. 分解因数
题目描述给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1*a2*a3*…*an,并且1&lt; a1&lt;=a2&lt;=a3&lt;=…&lt;=an,问这样的分解方案有多少种。注意a=a也是一种分解。输入第一行是测试数据的组数n,后面n行,每行包括一个正整数a(1&lt; a&lt;32768)。输出N行,每行输出一个个正整数,表示分解方案数。样例输入2
2018-08-28 17:18:10
1705
原创 1068. 图像旋转翻转变换
题目描述给定m行n列的图像各像素点灰度值,对其依次进行一系列操作后,求最终图像。 其中,可能的操作有如下四种: A:顺时针旋转90度; B:逆时针旋转90度; C:左右翻转; D:上下翻转。输入第一行包含两个正整数m和n,表示图像的行数和列数,中间用单个空格隔开。1 &amp;lt;= m &amp;lt;= 100, 1 &amp;lt;= n &amp;lt;= 100。 接下来m行,每行n个...
2018-08-28 12:25:24
4224
转载 1067. 最匹配的矩阵
题目描述给定一个m*n的矩阵A和r*s的矩阵B,其中0 &lt; r &lt; = m,0 &lt; s &lt; = n,A、B所有元素值都是小于100的正整数。求A中一个大小为r*s的子矩阵C,使得B和C的对应元素差值的绝对值之和最小,这时称C为最匹配的矩阵。如果有多个子矩阵同时满足条件,选择子矩阵左上角元素行号小者,行号相同时,选择列号小者。输入第一行是m和n,以一个空格分开。 ...
2018-08-28 11:02:37
2547
原创 1066. 素数对
题目描述两个相差为2的素数称为素数对,如5和7,17和19等,本题目要求找出所有两个数均不大于n的素数对。输入一个正整数n。1&lt;=n&lt;=10000。输出按照从小到大的顺序输出所有小于等于n的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出empty。样例输入100样例输出3 5 5 7 11 13 17 19 29 ...
2018-08-27 21:38:29
1181
原创 1065. 最小公倍数
题目描述输入正整数n,m,编写程序计算n和m的最小公倍数。输入一行两个空格隔开的正整数n,m。输出输出n和m的最小公倍数。样例输入12 18样例输出36数据范围限制1&lt;=n,m&lt;=10^6思路: 本题较简单,有两种解法,一种是最简单的暴力解法,从1枚举到n*m,判断是否是最小公倍数;第二种则是应用欧几里得算法,先求出最大公约数,最小公倍...
2018-08-27 21:01:03
312
原创 1059. 表达式求值 (水题,字符串的简单处理)
题目描述计算仅含有加法计算的表达式的值。该表达式长度不超过250,中间没有空格与括号,并且计算结果在整数范围内。输入输入表达式。输出输出表达式的值。样例输入12+23+21样例输出56代码如下#include&lt;bits/stdc++.h&gt; using namespace std;int main (){ char s; ...
2018-08-27 16:08:22
1202
原创 1058. 统计单词
题目描述输入一段由若干个以空格分隔的单词组成的英文文章,求出文章中最短的单词(文章以英文句点“.”结束,且字符总数不超过200)。输入输入文章。输出输出最早的最短的单词。样例输入We are Oiers.样例输出We代码如下#include &lt;bits/stdc++.h&gt;using namespace std;int main(){ ...
2018-08-27 12:28:46
719
原创 1057. 石头剪刀布
题目描述Bart的妹妹Lisa在一个二维矩阵上创造了新的文明。矩阵上每个位置被三种生命形式之一占据:石头,剪刀,布。每天,上下左右相邻的不同生命形式将会发生战斗。在战斗中,石头永远胜剪刀,剪刀永远胜布,布永远胜石头。每一天结束之后,败者的领地将被胜者占领。 你的工作是计算出n天之后矩阵的占据情况。输入第一行包含三个正整数r,c,n,分别表示矩阵的行数、列数以及天数。每个整数均不超过1...
2018-08-27 11:33:19
643
giftems.rar
2020-06-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人