牛客网语法篇练习复合类型(二)

news2025/2/21 22:00:01

 1.输入NxM矩阵,矩阵元素均为整数,计算其中大于零的元素之和。

a,b = map(int,input().split())
list1 = []
sum = 0
for i in range(a):
    list1.extend(list(map(int,input().split())))
for i in list1:
    if i>0:
        sum+=i
print(sum)

2.给你一个整数n,按要求输出n∗n的回型矩阵。

n = int(input())
a = [[0] * n for i in range(n)]
p = 0
q = n - 1
t = 1
while p < q:
    for i in range(p, q):
        a[p][i] = t
        t += 1
    
    for i in range(p, q):
        a[i][q] = t
        t += 1
    
    for i in range(q, p, -1):
        a[q][i] = t
        t += 1
    
    for i in range(q, p, -1):
        a[i][p] = t
        t += 1
        
    p += 1
    q -= 1
    
if p == q:
    a[p][q] = t

for i in range(n):
        print(*a[i])

3.给你一个整数n,输出n∗n的蛇形矩阵。

n = int(input())
lis = [[1]]
a = 0
b = 0
index = 1

for i in range(n-1):
    lis.append([])
#print(lis)

tem = 2
if n > 1:
    while(tem <= n**2):
        if (a == 0 and index == 1):
            b = b + 1
            index = -1
        elif (b == 0 and index == -1):
            a = a + 1
            index = 1
        else:
                a = a - index
                b = b + index
                
        if (a < n and b < n):
            lis[a].append(tem)
            tem += 1
            
for i in range(n):
    print(*lis[i])

4.给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。
 

a,b = map(int,input().split(' '))
m = []
n = []
for i in range(a):
    m.append(list(map(int,input().split())))
for i in range(a):
    n.append(list(map(int,input().split())))
count=0
for i in range(a):
    for j in range(b):
        if m[i][j]==n[i][j]:
            count+=1
print('%.2f'%(count*100/(a*b)))

5.KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。

n=int(input())
a=[]
sumall=0
for i in range(n):
    raw=list(map(int,input().split()))
    a.append(raw)
for i in range(n):
    for j in range(n):
        if i>j:
            sumall=sumall+a[i][j]
if (sumall)==0:
    print('YES')
else:
    print('NO')

6.KiKi现在得到一个包含n*m个数的整数序列,现在他需要把这n*m个数按顺序规划成一个n行m列的矩阵并输出,请你帮他完成这个任务。

a,b=map(int, input().split())
nlist=list(map(int, input().split()))
for i in range(a):
    for j in range(b):
        print(nlist[j+i*b],end=" ")
    print()

7.KiKi有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵),请编程帮他解答。

n,m=map(int, input().split())
lis = [list(map(int,input().split())) for i in range(0,n)]
for i in range(0,m):
    for j in range(0,n):
        print(lis[j][i],end=' ')
    print()

8.KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。

n,m=list(map(int,input().split()))
a=[]
for i in range(n):
    a.append(list(map(int,input().split())))
t=int(input())
for j in range(t):
    r,v1,v2=input().split()
    r,v1,v2=str(r),int(v1),int(v2)
    if r=='r':
        a[v1-1],a[v2-1]=a[v2-1],a[v1-1]
    elif r=='c':
        for i in range(n):
            a[i][v1-1],a[i][v2-1]=a[i][v2-1],a[i][v1-1]

    
for i in range(n):
    for j in range(m):
        print(a[i][j],end=' ')
    print()

9.KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。

n=int(input())
s = [[0]*i for i in range(1, 31)]
for i in range(30):
    for j in range(i+1):
        if j==0 or i==j:
            s[i][j]=1
        else:
            s[i][j]=s[i-1][j-1]+s[i-1][j]
s1=s[:n]
for i in range(len(s1)):
    for j in range(len(s1[i])):
        c=str(s[i][j])
        print(' '*(5-len(c))+c,end='')
    print('')

10.KiKi和BoBo玩 “井”字棋。也就是在九宫格中,只要任意行、列,或者任意对角线上面出现三个连续相同的棋子,就能获胜。请根据棋盘状态,判断当前输赢。

n=input().split()
m=input().split()
j=input().split()
if n[0]==m[1]==j[2]=='K' or n[2]==m[1]==j[0]=='K':
    print('KiKi wins!')
elif n[0]==m[1]==j[2]=='B' or n[2]==m[1]==j[0]=='B':
    print('BoBo wins!')
elif n[0]==n[1]==n[2]=='K' or m[0]==m[1]==m[2]=='K' or 
j[0]==j[1]==j[2]=='K' or n[0]==m[0]==j[0]=='K' or 
n[1]==m[1]==j[1]=='K' or n[2]==m[2]==j[2]=='K':
    print('KiKi wins!')
elif n[0]==n[1]==n[2]=='B' or m[0]==m[1]==m[2]=='B' or 
j[0]==j[1]==j[2]=='B' or n[0]==m[0]==j[0]=='B' or 
n[1]==m[1]==j[1]=='B' or n[2]==m[2]==j[2]=='B':
    print('BoBo wins!')
else:
    print('No winner!')

11.小sun上课的时候非常喜欢玩扫雷。他现小sun有一个初始的雷矩阵,他希望你帮他生成一个扫雷矩阵。

n,m=list(map(int,input().split()))
a=[['-' for i in range(m+2)]]
for i in range(n):
    b=list('-'+input()+'-')
    a.append(b)
a.append(['-' for i in range(m+2)])
for i in range(1,n+1):
    for j in range(1,m+1):
        if a[i][j]!='*':
            s=0
            if a[i-1][j]=='*':
                s=s+1
            if a[i-1][j-1]=='*':
                s=s+1
            if a[i-1][j+1]=='*':
                s=s+1
            if a[i][j-1]=='*':
                s=s+1
            if a[i][j+1]=='*':
                s=s+1
            if a[i+1][j]=='*':
                s=s+1
            if a[i+1][j-1]=='*':
                s=s+1
            if a[i+1][j+1]=='*':
                s=s+1
            a[i][j]=s
for i in a[1:-1]:
    print(''.join(str(j) for j in i[1:-1]))

12.凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?
注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字 符数时,空格和换行符不计算在内。

print(len(input().replace(' ','').replace('\n','')))

13.有个软件系统登录的用户名和密码为(用户名:admin,密码:admin),用户输入用户名和密码,判断是否登录成功。

a,b = input().split()
if a=='admin' and b=='admin':
    print("Login Success!")
else:
    print("Login Fail!")

14.笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。

import math
def zishu(n):
    if n<=1:
        return False
    for i in range(2,int(math.sqrt(n)+1)):
        if n%i==0:
            return False
    else:
        return True
    
word=input()
arr=[0 for i in range(26)]
for c in word:
    arr[ord(c)-97]+=1
arr.sort()
minx=0
for x in arr:
    if x>0:
        minx=x
        break
res=arr[-1]-minx
if zishu(res):
    print('Lucky Word')
    print(res)
else:
    print('No Answer')
    print(0)

15.对于一个较大的整数 N(1<=N<=2,000,000,000)比如 980364535,我们常常需要一位一位数这个数字是几位数,但是如果在这 个数字每三位加一个逗号,它会变得更加易于朗读。因此,这个数字加上逗号成如下的模样:980,364,535请写一个程序帮她完成这件事情

n=list(input())
i=3
while i <len(n):
        n.insert(-i,",")
        i=i+4
b="".join(n)
print(b)

16.假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长。

s = input()
a = s.count('A')
b = s.count('B')
if a > b:
    print('A')
elif a < b:
    print('B')
else:
    print('E')

17.给定长度为n的只有小写字母的字符串s,进行m次操作,每次将[l,r]范围内所有c1字符改成c2,输出操作完的字符串。

m, n = map(int, input().split())
str_use = list(input())
for j in range(n):
    a, b, c, d = input().split()
    for j in range(int(a)-1,int(b)):
        if str_use[j]==c:
            str_use[j]=d
print(''.join(str_use))

18.规定一种对于复合词的简写方式为只保留每个组成单词的首字母,并将首字母大写后再连接在一起比如 “College English Test”可以简写成“CET”,“Computer Science”可以简写为“CS”,“I am Bob”简写为“IAB”输入一个长复合词(组成单词数 sum,sum≥1且sum≤100,每个单词长度len,len,len≥1且len≤50),请你输出它的简写。

n=input().split()
for i in n:
    print(i[0].upper(),end='')

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/28923.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

辨别代码能否引发线程安全问题--避免在平时写代码时引发线程安全问题

前景提要&#xff1a; 本篇文章只是入门&#xff0c;目的在于在脑海中构建一个Java运行的模型&#xff0c;然后可以在平时写代码时对是否引发线程安全问题有感知。 文章目录引入了解辨别线程安全问题之前先来构建一个计算机运行模型了解线程安全问题怎么能不知道线程和进程了解…

搭建repo服务器管理多个git工程

参考自&#xff1a;搭建repo服务器管理多个git工程     repo系列讲解 —— Android系统源码(AOSP)下载 1、repo介绍 Android使用git作为代码管理工具&#xff0c;开发了gerrit进行代码审核&#xff0c;以便更好的对代码进行集中式管理。还开发了repo命令行工具&#xff0…

MySQL8.0 binlog进阶

MySQL8.0经过这几年的操揉磨治&#xff0c;已经上升到海平面了。其中binlog也悄然无声带来了不一样的变化。高可用核心复制基础binlog变化更应该进一步了解。从参数入手&#xff0c;了解带来的变化。 slave回放算法 slave_rows_search_algorithms 当使用基于 row-based复制格…

牛客网语法篇练习循环控制(二)

1.今天牛牛学到了回文串&#xff0c;他想在数字里面找回文&#xff0c;即回文数&#xff0c;回文数是正着读与倒着读都一样的数&#xff0c;比如1221&#xff0c;343是回文数&#xff0c;433不是回文数。请输出不超过n的回文数。 a int(input()) for i in range(1,a1):n str…

CSS-counter 计数器详细教程+使用场景示例

counter一. counter计数器二. 属性和方法1. 计数器命名/重置2. 计数器-值递增规则3. 计数器显示 counter() / counters() 函数三 代码示例1. 重新开始计数2. counters嵌套使用3. 借助CSS计数器呈现CSS var变量值一. counter计数器 计数器是一种特殊的数字跟踪器&#xff0c;通常…

systemd的unit配置文件详解

Systemd 是 Linux 的系统和服务的管理器&#xff0c;兼容 SysV 和 LSB初始化脚本&#xff0c;Systemd有以下特性&#xff1a; 积极的并行化能力使用套接字和 D-Bus 激活来启动服务提供按需启动守护进程&#xff0c;使用 Linux cgroups 跟踪进程支持系统状态的快照和恢复维护挂…

艾美捷Cas9核酸酶应用说明及实例展示

Product Description:Recombinant Streptococcus pyogenes Cas9 (wt) protein expressed in an E. coli . Form:Liquid Preparation Method:E. coli expression system Purity:≥ 95% by SDS-PAGE Activity:20 nM CRISPR/Cas9-C-NLS nuclease incubated for 1 hour at 37℃…

【新知实验室 TRTCIM】实时互动课堂最佳实践

【新知实验室 TRTC&IM】实时互动课堂最佳实践一、新知实验室-TRTC腾讯云音视频产品体验官计划活动简介二、产品简介TRTCIM三、最佳实践3.1 官方快速上手TRTC(快速跑通)3.1.1 注册腾讯云账号3.1.2 使用实时音视频(需先开通)3.1.3 创建应用3.1.4 查看项目(查看密钥和快速上手…

java基础—String

我们都知道 创建一个字符串最简单的方式是 String meaasge "java资讯";当然还可以用构造来创建 &#xff08;不推荐&#xff0c;开发中不要用&#xff09; String str2new String("java资讯");这两种创建最主要的区别在于&#xff0c;一个在公共池中&…

gitlab CI/CD 自动化部署vue项目到阿里云服务器步骤

目录1&#xff0c;gitlab托管vue项目2&#xff0c;本地项目连接到远程仓库3&#xff0c;设置gitlab-runner4&#xff0c;编写yml文件5&#xff0c;部署到阿里云服务器&#xff08;本地设置&#xff09;5.1 安装相关依赖5.2 vue项目中添加deploy.js文件5.3 注册deploy命令5.4 验…

文本生成图像工作简述2--常用数据集分析与汇总

文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像。用户可以输入他们喜欢的任何文字提示——比如&#xff0c;“一只可爱的柯基犬住在一个用寿司做的房子里”——然后&#xff0c;人工智能就像施了魔法一样&#xff0c;会产生相应的图像。 文本生成图像&#xff08;te…

实验2:Arduino的nRF24L01双向收发实验

实验结果: 00节点向01发送:00ReqMesFor01 01节点向00发送:CodeNewNiceBoy 并且在串口打印出相应信息 硬件电路: 01 软件 00节点代码: /*00 */#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 radio(9, 10);// CE, CSNconst char te…

dolphinscheduler 2.0.5 性能手动测试

目录&#x1f42c;官方配置文件说明&#x1f42c;测试并发量&#x1f420;线程数量设置100&#x1f420;线程数量设置200&#x1f420;线程数量设置500&#x1f42c;测试结论&#x1f42c;官方配置文件说明 官方说明 master.exec.threads&#xff1a; master工作线程数量,用于…

智能晾衣架(二)--功能实现

本文素材来源于红河学院 工学院 作者&#xff1a;赵德森 张艺锦 潘志慧 曹紫康 指导老师&#xff1a;江洁 张龙超 1. 自动升降功能 我们设计时采用了热释电传感器&#xff08;人体红外传感器&#xff09;&#xff0c;在热释电传感器感应到有人靠近时&#xff0c;晾衣架通…

C++:内存管理:C++内存管理详解(二):带你攻破内存管理

前言&#xff1a; 任何程序运行起来都需要分配内存空间存放该进程的资源信息&#xff0c;C程序也不例外。C程序中的变量、常量、函数、代码等等信息所存放的区域都有所不同&#xff0c;不同的区域又有不同的特性。 欺骗C进程 每一个C语言的程序被执行起来的时候系统为了方便开…

字符串的简单介绍和字符串的大小比较

以前就写过一篇关于String的文章&#xff0c;今天再来写一篇&#xff0c;更加深入了解一下String类 &#x1f550;1.String类的定义 &#x1f551;2.String类的创建 &#x1f552;3.字符串的大小比较 1.之前在C语言中我们已经学到了字符类型&#xff0c;但是C语言没有Strin…

Oracle-Rman duplicate文件坏块问题处理ORA-19849 19612

前言: 最近&#xff0c;在使用rman duplicate进行备库环境搭建时&#xff0c;遇到了ORA-19849 19612坏块报错&#xff0c;最终分析是发现由于网络的配置导致。 问题: 在 ORACLE 12.2.0.1.180417 通过RMAN duplicate进行备库初始化&#xff0c;在复制文件的过程中&#xff0c;…

FTP服务器移植到Linux开发板

FTP服务器移植到Linux开发板 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录FTP服务器移植到Linux开发板前言一、vsftpd源码下载二、vsftpd移植及配置1.vsftpd移植2.vsftpd配置2.1 配置vsftpd.conf2.2 添加新用户2…

LVS+Keepalived群集

目录 一.keeepalived工具介绍 1.1 专为LVS和HA设计的一款健康检查工具 1.2 Keepalived实现原理剖析 1.3 VRRP工作过程 1.4 Keepalived&#xff0c;VRRP及其工作原理 1.5 Keepalived体系主要模块及其作用 二、LVSKeepalived 高可用群集的搭建步骤 1、配置负载调度器&…

项目管理(PMO的作用)

项目管理办公室 (PMO) 是对与项目相关的治理过程进行标准化&#xff0c;并促进资源、方法论、工具和技 术共享的一个组织结构。PMO 的职责范围可大可小&#xff0c;从提供项目管理支持服务&#xff0c;到直接管理一个 或多个项目。 PMO的三种类型&#xff1a; PMO的作用&#…