搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
黑客灵魂
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
SqlServer数据库安装及使用(第一篇)
2
微调控件 0.1微调_微调T5变压器以完成任何汇总任务
3
Mamba: Linear-Time Sequence Modeling with Selective State Spaces论文笔记_fm backbone
4
一款免费开源的 Windows 资源管理神器,高颜值,丝滑流畅,24.5K Star快冲(带私活源码)_开源资源管理器
5
本地部署Stable Diffusion WebUI_stable-diffusion-webui 本地部署
6
基于的实验室设备管理系统(源码+开题)_设备管理系统开源
7
SCP文件传输命令用法_scp -i
8
NLP工具——doccano标注系统自动标注功能使用_doccano自动标注
9
QListWidget 布局方向设定_qlistwidget 左右
10
Linux系统安装海康MVS软件||Embedded Object Detection Project (part 8)_mvs软件linux
当前位置:
article
> 正文
面试试题_你从以很低的价格从别人那里买了一张飞机票之所以便宜是因为飞机马上要起飞了你
作者:黑客灵魂 | 2024-07-04 13:58:16
赞
踩
你从以很低的价格从别人那里买了一张飞机票之所以便宜是因为飞机马上要起飞了你
[cpp]
view plain
copy
/************************************************************************/
/* A+B
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 604 Accepted Submission(s): 380
Problem Description
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。
Input
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
Output
请计算A+B的结果,并以正常形式输出,每组数据占一行。
Sample Input
-234,567,890 123,456,789
1,234 2,345,678
Sample Output
-111111101
2346912
Source
浙大计算机研究生复试上机考试-2010年
*/
/************************************************************************/
#include"iostream"
#include "string.h"
#include "math.h"
using
namespace
std;
int
trans(
char
*input)
{
//printf("%s",input);
int
res=0;
int
i,j;
for
(i=0;i<strlen(input);i++)
{
if
(input[i]>=
'0'
&&input[i]<=
'9'
)
{
res*=10;
res+=(input[i]-
'0'
);
}
}
if
(input[0]==
'-'
)
res=-res;
return
res;
}
int
main()
{
char
*inp1,*inp2;
inp1=(
char
*)malloc(15*
sizeof
(
char
));
inp2=(
char
*)malloc(15*
sizeof
(
char
));
while
(scanf(
"%s"
,inp1)!=EOF)
{
scanf(
"%s"
,inp2);
int
a=trans(inp1);
int
b=trans(inp2);
printf(
"%d\n"
,a+b);
}
}
[cpp]
view plain
copy
/************************************************************************/
/* ZOJ问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 657 Accepted Submission(s): 201
Problem Description
对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。
是否AC的规则如下:
1. zoj能AC;
2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空;
3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个'o'或者为空;
Input
输入包含多组测试用例,每行有一个只包含'z','o','j'三种字符的字符串,字符串长度小于等于1000;
Output
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
Sample Input
zoj
ozojo
ozoojoo
oozoojoooo
zooj
ozojo
oooozojo
zojoooo
Sample Output
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Wrong Answer
Wrong Answer
Source
浙大计算机研究生复试上机考试-2010年
*/
/************************************************************************/
/*analyse:
Accept情况:(x----n个o,n>=1)
1. xzojx
2. (x)z(o*n)j(x*n)
*/
#include "iostream"
#include "string"
using
namespace
std;
int
main()
{
char
* inp;
int
o1,o2,o3,z,j,i;
int
flagz,flagj,flag;
inp=(
char
*)malloc(1020*
sizeof
(
char
));
while
(gets(inp))
{
flagz=flagj=flag=0;
for
(i=0;i<strlen(inp);i++)
{
if
(inp[i]==
'z'
)
flagz++,z=i;
else
if
(inp[i]==
'j'
)
flagj++,j=i;
else
if
(inp[i]!=
'o'
)
flag=2;
}
if
(flagz!=1||flagj!=1||flag!=0)
{
puts(
"Wrong Answer"
);
continue
;
}
o1=z;
o2=j-z-1;
o3=strlen(inp)-j-1;
if
(o1*o2==o3&&o2>=1)
puts(
"Accepted"
);
else
puts(
"Wrong Answer"
);
}
}
[cpp]
view plain
copy
/************************************************************************/
/* 奥运排序问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 690 Accepted Submission(s): 167
Problem Description
按要求,给国家进行排名。
Input
有多组数据。
第一行给出国家数N,要求排名的国家数M,国家号从0到N-1。
第二行开始的N行给定国家或地区的奥运金牌数,奖牌数,人口数(百万)。
接下来一行给出M个国家号。
Output
排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例
对每个国家给出最佳排名排名方式 和 最终排名
格式为: 排名:排名方式
如果有相同的最终排名,则输出排名方式最小的那种排名,对于排名方式,金牌总数 < 奖牌总数 < 金牌人口比例 < 奖牌人口比例
如果有并列排名的情况,即如果出现金牌总数为 100,90,90,80.则排名为1,2,2,4.
每组数据后加一个空行。
Sample Input
4 4
4 8 1
6 6 2
4 8 2
2 12 4
0 1 2 3
4 2
8 10 1
8 11 2
8 12 3
8 13 4
0 3
Sample Output
1:3
1:1
2:1
1:2
1:1
1:1
Source
浙大计算机研究生复试上机考试-2010年
*/
/************************************************************************/
#include "iostream"
using
namespace
std;
struct
Nation
{
int
jin;
int
jiang;
int
people;
int
index;
int
num[6];
//num[0,1,2,3]record sort res,num[4]record min sort num, num[5] record min sort mode
};
int
mode;
int
comp(
const
void
*A,
const
void
* B)
{
struct
Nation* a=(Nation*)A;
struct
Nation* b=(Nation*)B;
switch
(mode)
{
case
1:
return
b->jin-a->jin;
case
2:
return
b->jiang-a->jiang;
case
3:
return
b->jin*a->people-a->jin*b->people;
case
4:
return
b->jiang*a->people-a->jiang*b->people;
}
}
bool
Same(Nation a,Nation b,
int
mode)
{
switch
(mode)
{
case
1:
return
a.jin==b.jin;
case
2:
return
a.jiang==b.jiang;
case
3:
return
a.jin*b.people==b.jin*a.people;
case
4:
return
a.jiang*b.people==b.jiang*a.people;
}
}
int
main()
{
int
n,m;
while
(scanf(
"%d%d"
,&n,&m)!=EOF)
{
int
i,j,k=0,t;
Nation* country=(Nation*)malloc(n*
sizeof
(Nation));
Nation* c=(Nation*)malloc((m+10)*
sizeof
(Nation));
Nation* res=(Nation*)malloc((m+10)*
sizeof
(Nation));
for
(i=0;i<n;i++)
{
scanf(
"%d%d%d"
,&country[i].jin,&country[i].jiang,&country[i].people);
}
for
(i=0;i<m;i++)
{
scanf(
"%d"
,&t);
c[k]=country[t];
for
(j=0;j<5;j++)
c[k].num[j]=m+1;
c[k++].index=i;
}
for
(mode=4;mode>=1;mode--)
{
qsort(c,k,
sizeof
(c[0]),comp);
c[0].num[mode-1]=1;
for
(i=1;i<k;i++)
c[i].num[mode-1]=Same(c[i],c[i-1],mode)?c[i-1].num[mode-1]:(i+1);
}
for
(i=0;i<k;i++)
{
for
(mode=4;mode>0;mode--)
{
if
(c[i].num[mode-1]<=c[i].num[4])
{
c[i].num[4]=c[i].num[mode-1];
c[i].num[5]=mode;
}
}
res[c[i].index]=c[i];
}
for
(i=0;i<m;i++)
printf(
"%d:%d\n"
,res[i].num[4],res[i].num[5]);
cout<<endl;
}
}
[cpp]
view plain
copy
/************************************************************************/
/* 最短路径问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2114 Accepted Submission(s): 659
Problem Description
给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。
Input
输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为0时输入结束。
(1<n<=1000, 0<m<100000, s != t)
Output
输出 一行有两个数, 最短距离及其花费。
Sample Input
3 2
1 2 5 6
2 3 4 5
1 3
0 0
Sample Output
9 11
Source
浙大计算机研究生复试上机考试-2010年
*/
/************************************************************************/
//这个是SPFA法,Dijkstra法见下个代码
#include"iostream"
#include"queue"
#include"vector"
using
namespace
std;
#define N 1005
#define INF 100000000
int
n,m;
struct
MAP
{
int
node;
int
dis;
int
cost;
MAP(
int
a,
int
d,
int
p)
{
node=a,dis=d,cost=p;
}
};
vector<MAP>map[N];
//map[i][j]表与节点i相连的第j条边的信息
int
minres[N][2];
//min_dis/cost from s to i
void
spfa(
int
s,
int
e)
{
queue<
int
>Q;
bool
used[N]={
false
};
Q.push(s);
used[s]=
true
;
int
i;
for
(i=1;i<=n;i++)
minres[i][0]=minres[i][1]=INF;
minres[s][0]=minres[s][1]=0;
while
(!Q.empty())
{
int
now=Q.front();
Q.pop();
used[now]=
false
;
//
for
(i=0;i<map[now].size();i++)
{
int
tmpend=map[now][i].node;
int
dis=map[now][i].dis;
int
cost=map[now][i].cost;
if
(minres[tmpend][0]>minres[now][0]+dis||
(minres[tmpend][0]==minres[now][0]+dis&&
minres[tmpend][1]>minres[now][1]+cost))
{
minres[tmpend][0]=minres[now][0]+dis;
minres[tmpend][1]=minres[now][1]+cost;
if
(!used[tmpend])
Q.push(tmpend);
used[tmpend]=
true
;
}
}
}
}
int
main()
{
while
(scanf(
"%d %d"
,&n,&m)!=EOF&&!(m==0&&n==0))
{
int
a,b,d,p,i,j;
for
(i=1;i<=n;i++)
map[i].clear();
while
(m--)
{
scanf(
"%d%d%d%d"
,&a,&b,&d,&p);
map[a].push_back(MAP(b,d,p));
//注意双向边
map[b].push_back(MAP(a,d,p));
}
scanf(
"%d%d"
,&a,&b);
spfa(a,b);
printf(
"%d %d\n"
,minres[b][0],minres[b][1]);
}
}
[cpp]
view plain
copy
#include"iostream"
#include"vector"
using
namespace
std;
#define N 1005
#define INF 1000000000
int
n,m;
struct
Map
{
int
point;
//another point of edges connect this point
int
dis;
int
cost;
Map(
int
x,
int
y,
int
z):point(x),dis(y),cost(z){}
};
vector<Map>map[N];
int
minres[N][2];
void
bfs(
int
s,
int
e)
{
int
i,j;
for
(i=1;i<=n;i++)
minres[i][0]=minres[i][1]=INF;
minres[s][0]=minres[s][1]=0;
bool
used[N]={
false
};
//false--in the end point set
for
(j=0;j<n;j++)
//n loops
{
int
mindis,mincost,tmp;
mindis=mincost=INF;
for
(i=1;i<=n;i++)
//find a point with min dis and min cost
{
if
(!used[i]&&(minres[i][0]<mindis||minres[i][0]==mindis&&minres[i][1]<mincost))
{
mindis=minres[i][0];
mincost=minres[i][1];
tmp=i;
}
}
int
p1,d1,c1;
//update paths connect to point tmp
for
(i=0;i<map[tmp].size();i++)
{
p1=map[tmp][i].point;
d1=map[tmp][i].dis;
c1=map[tmp][i].cost;
if
((minres[p1][0]>minres[tmp][0]+d1||
minres[p1][0]==minres[tmp][0]+d1&&minres[p1][1]>minres[tmp][1]+c1)&&
!used[p1])
{
minres[p1][0]=minres[tmp][0]+d1;
minres[p1][1]=minres[tmp][1]+c1;
}
}
used[tmp]=
true
;
}
}
int
main()
{
while
(scanf(
"%d%d"
,&n,&m)!=EOF&&!(m==0&&n==0))
{
int
a,b,d,p;
for
(
int
i=1;i<=n;i++)
map[i].clear();
///千万注意!
while
(m--)
{
scanf(
"%d%d%d%d"
,&a,&b,&d,&p);
map[a].push_back(Map(b,d,p));
map[b].push_back(Map(a,d,p));
}
scanf(
"%d%d"
,&a,&b);
bfs(a,b);
printf(
"%d %d\n"
,minres[b][0],minres[b][1]);
}
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/黑客灵魂/article/detail/787102
推荐阅读
article
Qt - 如何
在
新
线程
(
QThread
)中
使用
一个进程 (
QProcess
)?...
/ 注意:这里
使用
Qt::QueuedConnection不是必需的,因为连接
在
同一
线程
内,通常
在
创建它的
线程
(通常是主...
赞
踩
article
node
中
的
redis
使用--io
redis
...
node
js 链接
redis
/mysql 连接池
redis
是单线程作业,所以不管查询任务是由一个链接发来
的
还是多个链接...
赞
踩
article
信息
安全
五 不
安全
的
文件
下载
上传
_
上传
文件
时
,
从
安全
角度设计
,
控制
上传
文件
的大小和...
一、环境测试工具:Burp Suite浏览器:火狐靶场:Pikachu二、不
安全
的
文件
下载
1、概述
文件
下载
功能在很多we...
赞
踩
article
FastChat
部署
服务
架构(
一
)...
FastChat
部署
服务
的代码位于它们的关系如下图所示:图 1:https://github.com/lm-sys/F...
赞
踩
article
人工智能
实现
a
*
算法
解决
八
数码_小白带你学
--
回溯
算法
...
微信公众号:小白
算法
关注可了解更多
算法
,并能领取免费资料。问题或建议,请公众号留言;小白
算法
,简单白话
算法
,每个人都能看...
赞
踩
article
汽车
IVI
中控
开发
入门及进阶(三)
:
概述
_
汽车
中控
开发
课程
...
开发
板的作用当然是为了解决一些应用而设计的,主体是板,终极目的是应用,中间过程则是
开发
,是基于板的
开发
。可以和编译Lin...
赞
踩
article
Vivado
时序报告之
Check
_
timing
详解_
unconstrained
internal
e...
Vivado
使用中会涉及到各种报告,内容也较多,很多初学者可能对其中一些内容感到困惑,下面将结合实际工程示例对repo...
赞
踩
article
【
linux
】
虚拟机
安装
BCLinux
-R8-U4-
Server
-x86_64...
移动云Linux系统订阅服务 CLS (Cloud Linux Service)为使用BC-Linux操作系统的用户提供...
赞
踩
article
NLP
经典
论文
研读--
xlnet
论文
研读
笔记
_
nlp
论文
导读...
xlnet
论文
阅读
笔记
_
nlp
论文
导读
nlp
论文
导读 x...
赞
踩
article
python
调用
,
Python
模块
的引入和
调用
_
python
调用
模块
...
Python
中的
模块
,有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include引入ma...
赞
踩
article
mysql
数据
库
可分为
系统
数据
_
mysql
_
系统
数据
库
认识...
show databases;查看
mysql
自带
数据
库
有information_schema,
mysql
, perfor...
赞
踩
article
PythonGUI
:
tkinter
控件事件怎么绑定
回车
键并且共存
_
tkinter
entry
回车
...
xxx.bind("
", def)即可绑定enter键,不过这里的def函数必须要加self,而点击命令...
赞
踩
article
Qt
Creator
代码
格式化
的高级配置_qt
creator
代码
格式化
...
熟悉
Qt
Creator
工具的开发者都知道使用
代码
格式化
的方法。在这里,简单地给大家复述一下操作方法:先全选所有...
赞
踩
article
NR 5G 关于
gNB
-
CU
和
gNB
-
DU
_cu
是
gnb
的分布式单元...
详细接入流程图(包含
gNB
-
CU
<
gNB
-
CU
-CP、
gNB
-
CU
-UP>和
gNB
-
DU
)
CU
:集中单元(可连接多个
DU
...
赞
踩
article
插入
排序
及
希尔
排序
_
希尔
排序
和
插入
排序
...
插入
排序
:
插入
排序
,一般也被称为直接
插入
排序
。对于少量元素的
排序
,它是一个有效的算法。
插入
排序
是一种最简单的
排序
方法,它...
赞
踩
article
数据
库
之
触发器
_1.
在
sp
dg
数据
库
的
khb
上定义
触发器
,
其功能是:如果
在
khb
表中删除
数据
,
则同时...
数据
库
中的
触发器
是个特殊的存储过程,主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用。 ...
赞
踩
article
2024.2
DataWhale
多
智能
体
实战 第四章 多
智能
体
开发
...
下面我们将演示使用MetaGPT
开发
一个多
智能
体
系统,这个系统中包含“学生”和“老师”两个角色。当用户输入一个主题,学生...
赞
踩
article
WebSockets
完全指南:在
Postman
中
测试
实时通信_用
postman
发websock...
Postman
是 API 开发者广泛使用的工具,支持 RESTful API 的
测试
和调试。随着实时通信的兴起,Web...
赞
踩
article
ONLYOFFICE
桌面
编辑器
8.1
使用体验分享...
ONLYOFFICE
桌面
编辑器
8.1
版本以其全面的功能性、用户友好的界面和跨平台的兼容性,为用户提供了一个高效、灵活且成...
赞
踩
article
面向
金融
数据
库
GreatSQL
正式开源_开源
金融
数据
...
GreatSQL
社区近日宣布,在经过几个月的紧张筹备后,
GreatSQL
现已正式开源。
GreatSQL
可以作为My...
赞
踩
相关标签
qt
开发语言
安全
信息安全
Fastchat
人工智能实现a*算法解决八数码
汽车
中控DA芯片
高清摄像头
fpga开发
时序报告
check_timing
Vivado
时序约束
linux
运维
服务器
BCLinux
虚拟机
自然语言处理
xlnet
笔记
python
面试