博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2020天梯赛训练2 题目整理
阅读量:3904 次
发布时间:2019-05-23

本文共 7027 字,大约阅读时间需要 23 分钟。

7-1 辗转相除法求最大公约数 (10分)

题目链接:

代码如下:

import java.util.Scanner;public class Main {
public static int gcd(int a,int b) {
return b==0? a:gcd(b,a%b); } public static void main(String[] args) {
Scanner sc = new Scanner(System.in); String s = sc.next(); String[] s_num = s.split(","); int[] num = new int[2]; for (int i=0;i<2;i++) num[i]=Integer.valueOf(s_num[i]); System.out.println("gcd="+gcd(num[0],num[1])); }}

7-2 重要的话说三遍 (5分)

题目链接:

代码如下:

import java.sql.SQLOutput;public class Main {
public static void main(String[] args) {
for (int i=0;i<3;i++) System.out.println("I'm gonna WIN!"); }}

7-3 后天 (5分)

题目链接:

代码如下:

import java.util.Scanner;public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); int n =sc.nextInt(); System.out.println((n+1)%7+1); }}

7-4 谁先倒 (15分)

题目链接:

代码如下:

import java.util.Scanner;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); int la=sc.nextInt(),lb=sc.nextInt(); int na=0,nb=0; int n=sc.nextInt(); int flag=0; for (int i=0;i
0) continue; int j1=0,j2=0; if(da==ha+hb) {
j1=1; } if(db==ha+hb) {
j2=1; } if(j1!=j2) {
if(j1==1) na++; else nb++; } if(na>la) flag=1; if(nb>lb) flag=2; } if(flag==1) {
System.out.println("A"); System.out.println(nb); } if(flag==2) {
System.out.println("B"); System.out.println(na); } }}

7-5 输出GPLT (20分)

题目链接:

代码如下:

import java.util.Scanner;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); String s =sc.next(); s=s.toUpperCase(); int numg=0,nump=0,numl=0,numt=0; for (int i=0;i
0) {
System.out.print('G'); numg--; } if(nump>0) {
System.out.print('P'); nump--; } if(numl>0){
System.out.print('L'); numl--; } if(numt>0){
System.out.print('T'); numt--; } } System.out.println(); }}

7-6 判断素数 (10分)

题目链接:

代码如下:

import java.util.Scanner;public class Main {
public static boolean judge(int x) {
if(x==1||x==0) return false; if(x==2) return true; for(long i=2;i*i<=x;i++) {
if(x%i==0) return false; } return true; } public static void main(String[] args) {
Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i=0;i

7-7 出租 (20分)

题目链接:

代码如下:

import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); String s = sc.next(); int[] vis = new int[10]; List
nums = new ArrayList<>(); List
list = new ArrayList<>(); for (int i=0;i
=0;i--) {
if(vis[i]>0) nums.add(i); } for (int i=0;i

7-8 情人节 (15分)

题目链接:

代码如下:

import java.util.Scanner;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); String a="",b=""; int i=0; while(true) {
String s = sc.next(); if(s.length()==1&&s.charAt(0)=='.') {
break; } i++; if(i==2) a=s; if(i==14) b=s; } if(a.equals("")) System.out.println("Momo... No one is for you ..."); else if(b.equals("")) System.out.println(a+" is the only one for you..."); else System.out.println(a+" and "+b+" are inviting you to dinner..."); }}

7-9 图着色问题 (25分)

题目链接:

代码如下:

#include 
using namespace std;int v,e,k;const int maxn=505;vector
edge[maxn];int col[maxn];int main(){
scanf("%d%d%d",&v,&e,&k); for (int i=0;i

7-10 点赞狂魔 (25分)

题目链接:

代码如下:

#include 
using namespace std;const int maxn=105;int n;char name[105][10];struct peo{
char name[10]; int kind; int num;};peo a[maxn];map
ma[maxn];int compare(peo a,peo b){
if(a.kind!=b.kind) return a.kind>b.kind; return a.kind*1.0/a.num>b.kind*1.0/b.num;}int main(){
scanf("%d",&n); for (int i=0;i

7-11 列车调度 (25分)

题目链接:

代码如下:

#include 
using namespace std;const int maxn=1e5+5;int n;int dao[maxn];int num=0;int a[maxn];int Find(int x){
if(x>dao[num-1]) {
num++; return num-1; } for (int i=0;i
x) return i; }}int main(){
scanf("%d",&n); for (int i=0;i

7-12 愿天下有情人都是失散多年的兄妹 (25分)

题目链接:

代码如下:

#include 
using namespace std;const int maxi=1e6+5;int n;struct peo{
char sex; int fid,mid;};struct peo id[maxi];bool Find(int xid,int yid,int num){
if(xid==-1||yid==-1) return true; if((id[xid].fid!=-1&&id[xid].fid==id[yid].fid)||(id[yid].mid!=-1&&id[xid].mid==id[yid].mid)) return false; num++; if(num>=4) return true; return Find(id[xid].fid,id[yid].mid,num)&&Find(id[xid].fid,id[yid].mid,num)&&Find(id[xid].mid,id[yid].fid,num)&&Find(id[xid].mid,id[yid].mid,num);}int main(){
scanf("%d",&n); memset(id,-1,sizeof(id)); for (int i=0;i

7-13 是否完全二叉搜索树 (30分)

题目链接:

代码如下:

#include 
using namespace std;const int maxn=25;struct tree{
tree* left,*right; int val; tree(int v,tree* left,tree* right) {
val=v; this->left=left; this->right=right; }};int n;vector
ans;tree* root=NULL;tree* create(tree* t,int val){
if(t==NULL) {
return new tree(val,NULL,NULL); } if(t->val>val) t->right=create(t->right,val); else t->left=create(t->left,val); return t;}int main(){
scanf("%d",&n); for (int i=0;i
q; q.push(root); while(!q.empty()) {
int Size=q.size(); while(Size--) {
tree* t=q.front(); ans.push_back(t); q.pop(); if(tflag==1&&(t->left!=NULL||t->right!=NULL)) flag=1; if(t->right!=NULL&&t->left==NULL) {
flag=1; } if(t->right==NULL) {
tflag=1; } if(t->left!=NULL) {
q.push(t->left); } if(t->right!=NULL) {
q.push(t->right); } } } for (int i=0;i
val,i==ans.size()-1?'\n':' '); } if(flag==1) printf("NO\n"); else printf("YES\n");}

转载地址:http://tcaen.baihongyu.com/

你可能感兴趣的文章
刚开始学python,对脚本语言的一些理解
查看>>
matplotlib进行绘图——散点图
查看>>
matplotlib进行绘图——直方图
查看>>
需求文件requirements.txt的创建及使用
查看>>
300. 最长上升子序列
查看>>
445. 两数相加 II
查看>>
449. 序列化和反序列化二叉搜索树
查看>>
450. 删除二叉搜索树中的节点
查看>>
451. 根据字符出现频率排序
查看>>
454. 四数相加 II
查看>>
467. 环绕字符串中唯一的子字符串
查看>>
468. 验证IP地址
查看>>
474. 一和零
查看>>
486. 预测赢家
查看>>
494. 目标和
查看>>
520. 检测大写字母
查看>>
数据处理和训练模型的技巧
查看>>
vb 中如何做同步 异步?
查看>>
geturl
查看>>
关于sizeof
查看>>