8.1 acm
双斜杠少年
希望经记录下来自己学习过程,并和大家一块分享
展开
-
阿里真题:线程交叉打印
leetcode 1115. 交替打印FooBar 多线程交替打印五种方案实现多线程交替打印。涉及 CyclicBarrier 篱栅、回环屏障 、Semaphore 信号灯、ReentrantLock、synchronized、AtomicBoolean 无锁cas 。全部都已经在leetCode 提交通过代码如下:ReentrantLock 方案 /** * 方案3 ReentrantLock */ class FooBar3 { private i原创 2020-12-09 15:04:41 · 508 阅读 · 0 评论 -
java 实现二叉树题目
树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思想解决,本文包括:建树向树中插入一个节点依据树节点的值删除树中的一个节点先续遍历树中的所有节点中续遍历树中的所有节点后续遍历树中的所原创 2017-09-11 23:33:32 · 904 阅读 · 0 评论 -
分数加减法
描述 编写一个C程序,实现两个分数的加减法 输入 输入包含多行数据 每行数据是一个字符串,格式是”a/boc/d”。 其中a, b, c, d是一个0-9的整数。o是运算符”+”或者”-“。 数据以EOF结束 输入数据保证合法 输出 对于输入数据的每一行输出两个分数的运算结果。 注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数 样例输入 1/8+3原创 2015-12-06 16:23:37 · 537 阅读 · 0 评论 -
鸡兔同笼
描述 已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。 输入 第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a<10) a行里,每行都有一个n和m.(0#include<stdio.h>int main (){ int n,j,i,m,k; scanf("%d",&k); whi原创 2015-12-06 16:19:49 · 437 阅读 · 0 评论 -
笨小熊
描述 笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小熊就认为这是个Lucky Word,这样的单词很可能就是正确的答案。输入 第一行数据N(0原创 2015-12-06 16:15:33 · 530 阅读 · 0 评论 -
兄弟郊游问题
兄弟郊游问题 描述 兄弟俩骑车郊游,弟弟先出发,每分钟X米,M分钟后,哥哥带一条狗出发。以每分钟Y米的速度去追弟弟,而狗则以每分钟Z米的速度向弟弟跑去,追上弟弟后又立即返回,直到哥哥追上弟弟时,狗跑了多少米? 输入 第一行输入一个整数N,表示测试数据的组数(N<100) 每组测试数据占一行,是四个正整数,分别为M,原创 2015-12-06 16:22:08 · 503 阅读 · 0 评论 -
独木舟上的旅行
描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的规则,计算要安置所有旅客必须的最少的独木舟条数,并输出结果。输入 第一行输入s,表示测试数据的组数原创 2015-12-06 16:20:59 · 532 阅读 · 0 评论 -
谁获得了最高奖学金
描述 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得; 3) 成绩优秀奖,每人2000元,原创 2015-12-06 16:09:11 · 1097 阅读 · 0 评论 -
6174问题
描述 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!现在要你写一个程序来判断一个四位数经过多少次这样的操作能出现循环,并且求出操作的次数比如输入1234执行顺序是1234->3原创 2015-12-06 16:07:38 · 558 阅读 · 0 评论 -
素数距离问题
描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。 如果输入的整数本身就是素数,则输出该素数本身,距离输出0 输入 第一行给出测试数据组数N(0小于N<=10000) 接下来的N行每行有一个整数M(0小于M<1000000), 输出 每行输出两个整数 A B. 其中A表示离相应测试数据最近的素原创 2015-12-06 15:50:12 · 476 阅读 · 0 评论 -
取石子(一)
描述 一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/她们是用旺仔小馒头当作石子。游戏的规则是这样的。设有一堆石子,数量为N(1<=N<=1000000),两个人轮番取出其中的若干个,每次最多取M个(1<=M<=1000000),最先把石子取完者胜利。我们知道,TT和他/她的室友都十分的聪明,那么如果是TT先取,他/她会取得游戏的胜利么? 输入 第一行是一个正整数n表原创 2015-12-06 15:40:15 · 574 阅读 · 0 评论 -
公约数和公倍数
描述 小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。 输入 第一行输入一个整数n(0小于n<=10000),表示有n组测试数据; 随后的n行输入两个整数i,j(0小于i,j<=32767)。 输出 输出每组测试数据的最大公约数和最小公倍数 样例输入 3 6 6 12 11 33 22 样例输出 6 6 1 132 1原创 2015-12-06 16:02:15 · 512 阅读 · 0 评论 -
阶乘因式分解(一)
描述 给定两个数m,n,其中m是一个素数。将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。输入 第一行是一个整数s(0小于s<=100),表示测试数据的组数 随后的s行, 每行有两个整数n,m。 输出 输出m的个数。 样例输入 2 100 5 16 2 样例输出 24 15#include<stdio.h>int main(){ int N,m,原创 2015-12-06 16:04:36 · 588 阅读 · 0 评论 -
求转置矩阵问题
描述 求一个三行三列的转置矩阵。 输入 第一行一个整数n<20,表示有n组测试数据,下面是n组数据; 每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项; 输出 每组测试数据的转置矩阵; 请在每组输出之后加一个换行 样例输入 2 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 1 样例输出 1 4 7原创 2015-12-06 15:52:48 · 570 阅读 · 0 评论 -
素数求和问题
描述 现在给你N个数(0小于N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。 输入 第一行给出整数M(0小于M<10)代表多少组测试数据 每组测试数据第一行给你N,代表该组测试数据的数量。 接下来的N个数为要测试的数据,每个数小于1000 输出 每组测试数据结果占一行,输出给出的测试数据的所有素数和#include<stdio.h>#include <mat原创 2015-12-06 15:36:49 · 586 阅读 · 0 评论 -
括号配对问题
描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行输入一个数N(0小于N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有”[“,”]”,”(“,”)”四种字符 输出 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对原创 2015-12-06 15:29:56 · 709 阅读 · 0 评论 -
蛇形填数
描述 在n*n方陈里填入1,2,…,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 输入 直接输入方陈的维数,即n的值。(n<=100) 输出 输出结果是蛇形方阵。#include<stdio.h>#include<string.h>int main(){ int n,x,y,a[100][10原创 2015-12-06 15:55:37 · 467 阅读 · 0 评论 -
买啤酒问题
喝啤酒问题,小明去喝啤酒,啤酒搞活动,啤酒二元一瓶,两个空瓶可以再换一瓶啤酒,四个瓶盖也可以换一瓶啤酒,问小明花多少钱可以喝多少瓶啤酒?分析:每次兑换完啤酒瓶是剩一个啤酒瓶不是零个。每次兑换新的瓶子瓶盖也会加一。java 代码如下:import java.util.Scanner;public class pijiu { public static void main(String[] a原创 2015-11-30 09:31:42 · 1477 阅读 · 0 评论 -
百钱买百鸡
“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3 文 钱可以买1只公鸡,2 文钱可以买一只母鸡,1 文钱可以买3 只小鸡。用100 文 钱买100 只鸡,那么各有公鸡、母鸡、小鸡多少只? int i=0,j=0;//i公鸡 ,j母鸡,k小鸡 for( i=0;i<=33;i++) { for( j=0;j<=50;j++)原创 2015-12-02 13:12:35 · 1207 阅读 · 0 评论