2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛) 补题

链接:https://ac.nowcoder.com/acm/contest/553/A
来源:牛客网

题目描述

Chino的数学很差,因此Cocoa非常担心。这一天,Cocoa准备教Chino学习圆与直线的位置关系。
众所周知,直线和圆有三种位置关系:相离、相切、相割,主要根据圆心到直线的距离来判定。

现在我们来看看作业吧:

是以整点为圆心、正整数为半径的圆,整点分别是圆外一点以及轴上的一点,形成一条圆的割线(也就是和圆有两个交点)。现在Cocoa想要知道,的值是多少?
题目对于Chino来说太难啦,你能帮一帮Chino吗?

输入描述:

六个正整数x0, y0, r, x1, y1, y2

输出描述:

题目要求的答案,精确到整数
示例1

输入

复制
2 2 1 3 1 2

输出

复制
1
思路:一个小经验,这个线绕b转的时候答案不变是一个定值
所以可以直接考虑特殊情况,即线与圆相切
#include<bits/stdc++.h>
using namespace std;
int main(){
    long long x0,y0,r,x1,y1,y2;
    cin>>x0>>y0>>r>>x1>>y1>>y2;
    cout<<(y1-y0)*(y1-y0)+(x1-x0)*(x1-x0)-r*r;
}

链接:https://ac.nowcoder.com/acm/contest/553/B
来源:牛客网

题目描述

Chino的数学很差,因此Cocoa非常担心。今天,Cocoa准备教Chino数数。
我们都知道人类的本质之一是复读机,而复读机就是复读别人说过的话。
现在有下面这段程序:

#include <stdio.h> // 包含标准库的信息
main() // 定义名为main的函数,它不接受参数值
{ // main函数的语句都被括在花括号中
    printf("Hello, world!"); // main函数调用库函数printf以显示字符串序列
}

显然,它的功能是打印一行.
现在,Cocoa想要知道,如果一台复读机每次可以复读若干行(但不超过已有的行数),那么最少复读几次可以让消息记录达到行呢?
题目对Chino来说太难啦,你能帮一帮Chino吗?

输入描述:

一个正整数n

输出描述:

题目中要求的答案
示例1

输入

复制
9

输出

复制
4

说明

12369

水题,假如复读n次最多可以有2^n个句子
#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    int i=1,t=0;;
    while(i<n){
        i*=2;
        t++;
    }
    cout<<t<<endl;
    return 0;
}

链接:https://ac.nowcoder.com/acm/contest/553/D
来源:牛客网

Chino的数学很差,因此Cocoa非常担心。今天,Cocoa要教Chino解不定方程。
众所周知,不定方程的解有0个或者若干个。
给出方程:

Cocoa想知道这个不定方程的正整数解和非负整数解各有几个。
题目对Chino来说太难啦,你能帮一帮Chino吗?

输入描述:

两个正整数m, n

输出描述:

题目要求的答案,即正整数解的个数和非负整数解的个数 。由于答案可能会很大,你只需要输出答案 mod(10

9

 + 7) 即可。
 
示例1

输入

复制
4 7

输出

复制
20 120
http://www.cnblogs.com/acgoto/

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=(ll)1e9+7;
ll poww(ll a,ll n)
{
    ll ans=1;
    while(n)
    {
        if(n&1)ans*=a,ans%=mod;
        a=a*a;
        a%=mod;
        n>>=1;
    }return ans;
}
ll c(ll a,ll b)
{
 
    ll ans=1;
    for(int i=0;i<b;i++)ans*=(a-i),ans%=mod;
    for(int i=2;i<=b;i++)ans=ans*poww(i,mod-2)%mod;
    return ans;
}
int main()
{  
    ll m,n;
    cin>>m>>n;
    cout<<c(n-1,m-1)<<" "<<c(n+m-1,m-1);
 }
 链接:https://ac.nowcoder.com/acm/contest/553/F
来源:牛客网

题目描述


Chino的数学很差,因此Cocoa非常担心。这一天,Cocoa准备教Chino学习数学期望。
众所周知,数学期望就是所有可能的结果乘以概率,也就是说,如果我们有下面这张表格:

X 1 2 3
P


那么我们可以说X的期望
定义非常简单,Chino也一下就学会了。现在是作业时间啦!
Cocoa在纸上写下个正整数,接下来Cocoa会进行次询问,每次询问形如“x_i l_i r_i,表示如果Cocoa把数列中的某个数加上x_i以后的期望。
题目对于Chino来说太难啦,你能帮一帮Chino吗?

输入描述:

第一行是两个正整数n, q;接下来一行是n个数a
i
,接下来q行每行三个数x
i
,  l
i
, r
i
,描述了一组询问

输出描述:

对于每组询问,给出相应的回答。你的答案会被认为是正确的,当且仅当你的答案是a,标准答案是b,并且|ab|max(1,b)106|a−b|max(1,b)≤10−6
示例1

输入

复制
5 3
1 2 3 4 5
1 2 3
2 1 4
4 3 5

输出

复制
2.700000
2.900000
4.800000


原文地址:https://www.cnblogs.com/yfr2zaz/p/10667698.html