山东省第八届ACM题(部分赛题整理)

2024-01-31 06:08

本文主要是介绍山东省第八届ACM题(部分赛题整理),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3893 - Return of the Nim118 / 22153.39%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3894 - Quadrat34 / 7346.58%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3895 - fireworks195 / 63530.71%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3896 - HEX97 / 21245.75%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3897 - news reporter11 / 2937.93%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3898 - quadratic equation332 / 162920.38%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3899 - sum of power388 / 110335.18%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3900 - triangle13 / 5026.00%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3901 - Parity check283 / 72239.20%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3902 - company279 / 104226.78%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
 3903 - CF154 / 40637.93%“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)

sum of power

import java.math.BigInteger;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int m = in.nextInt();BigInteger sum = BigInteger.ZERO;BigInteger ans;for(int i = 1;i <= n;i++){ans =  BigInteger.ONE;for(int j = 1;j <= m;j++)ans = ans.multiply(BigInteger.valueOf(i));sum = sum.add(ans).mod(BigInteger.valueOf(1000000007));}System.out.println(sum);}
}

Parity check

//大表找规律,应为数据范围太大,所以考虑用java求解 
#include<bits/stdc++.h>
using namespace std;
long long f[10000];
int main()
{f[0]=0;f[1]=1;for(int i=2;i<=50;i++)f[i]=f[i-1]+f[i-2];for(int i=0;i<=50;i++)cout<<"i="<<i<<",f[i]="<<f[i]%2<<endl;return 0;
} import java.math.BigInteger;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);BigInteger m=BigInteger.valueOf(3);while(in.hasNextBigInteger()){BigInteger n=in.nextBigInteger();if(n.mod(m).equals(BigInteger.valueOf(0)))System.out.println(0);elseSystem.out.println(1);}}
}

Return of the Nim

博弈综合:尼姆博弈+威佐夫博弈

#include<bits/stdc++.h>
using namespace std;
const int namx=1e5+6;
int s[namx];
int main()
{int g;cin>>g;while(g--){int n;memset(s,0,sizeof(s));cin>>n;for(int i=0;i<n;i++)scanf("%d",&s[i]);if(n==2){sort(s,s+2);double k = ((sqrt(5.0)+1.0)/2.0);if(floor((s[1]-s[0])*k)==s[0]){cout<<"Watson"<<endl;}else{cout<<"Sherlock"<<endl;}}else{int ans=s[0];for(int i=1;i<n;i++)ans=ans^s[i];if(ans==0)cout<<"Watson"<<endl;elsecout<<"Sherlock"<<endl;}}return 0;
} 

quadratic equation

//当且仅当 x 为整数时, a * x * x + b * x + c = 0成立; 前真后假为假,其余全为真 
#include<bits/stdc++.h>
using namespace std;
double x1,x2;
int FindX(int a,int b,int c)
{//如果a不为0 && 求根公式小于0,说明没有解,返回falseif(a && ((b * b - 4 * a * c) < 0))return false;if(a)//如果a不为0,求根公式算出x1,x2{x1 = (-1.0 * b + sqrt((b * b - 4 * a * c))) / (2 * a);x2 = (-1.0 * b - sqrt((b * b - 4 * a * c))) / (2 * a);}else if(!a)//如果a为0{if(b)//如果a为0,算出x1 = x2的值x1 = x2 = (-1.0 * c) / b;else{if(!c)return true;return false;}}return true;
}
bool judge(int a,int b,int c)
{//如果a为0 && b为0,或者全都为0,x可以取任意值,可以不是整数,返回falseif((!a && !b) || (!a && !b && !c))return false;if(x1 == (int)x1 && x2 == (int)x2)//验证求到的x是整数 return true;return false;
}
int main()
{int n,a,b,c;scanf("%d",&n);while(n--){scanf("%d%d%d",&a,&b,&c);x1 = 0,x2 = 0;if(FindX(a,b,c)&&!judge(a,b,c)){printf("NO\n");}elseprintf("YES\n");}return 0;
}

CF

点击转到

 

这篇关于山东省第八届ACM题(部分赛题整理)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/662783

相关文章

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

转自:http://blog.163.com/zhujiatc@126/blog/static/1834638201392335213119/ 相关资料在线版(不定时更新,其实也不会很多,也许一两个月也不会改) http://www.zhujiatc.esy.es/crtmpserver/index.htm 去年在这进行rtmp相关整理,其实内容早有了,只是整理一下看着方

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

JavaScript整理笔记

JavaScript笔记 JavaScriptJavaScript简介快速入门JavaScript用法基础语法注释关键字显示数据输出innerHTML innerText属性返回值的区别调试 数据类型和变量数据类型数字(Number)字符串(String)布尔值(Boolean)null(空值)和undefined(未定义)数组(Array)对象(Object)函数(Function) 变量

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

站长常用Shell脚本整理分享(全)

站长常用Shell脚本整理分享 站长常用Shell脚本整理分享1-10 站长常用Shell脚本整理分享11-20 站长常用Shell脚本整理分享21-30 站长常用Shell脚本整理分享31-40 站长常用Shell脚本整理分享41-50 站长常用Shell脚本整理分享51-59 长期更新