题目名称 999. [東方S2] 雾雨魔理沙
输入输出 marisa.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatar王者自由 于2012-08-08加入
开放分组 全部用户
提交状态
分类标签
动态规划 排序 计算几何
分享题解
通过:24, 提交:50, 通过率:48%
GravatarZlycerQan 100 0.061 s 0.38 MiB C++
GravatarHouJikan 100 0.064 s 0.38 MiB C++
Gravatar6娃 100 0.082 s 0.42 MiB C++
Gravatar6娃 100 0.083 s 0.42 MiB C++
Gravataronlysky 100 0.084 s 0.44 MiB C++
Gravataronlysky 100 0.087 s 0.44 MiB C++
Gravatar6娃 100 0.090 s 0.42 MiB C++
Gravatar王者自由 100 0.095 s 0.41 MiB C++
Gravatar6娃 100 0.097 s 0.39 MiB C++
Gravatar水中音 100 0.112 s 0.44 MiB C++
本题关联比赛
东方幻想乡 S2
关于 雾雨魔理沙 的近10条评论(全部评论)
#include<iostream>
#include <cstdio>
#include<iomanip>
using namespace std;
int main() {
freopen("xiangsidu.in","r",stdin);
freopen("xiangsidu.out","w",stdout);
double a[100][100],b[100][100],c,d,z=0;
cin>>c>>d;
for(int m=0;m<c;m++)
{
for(int j=0;j<d;j++)
{
cin>>a[m][j];
}
}
for(int m=0;m<c;m++)
{
for(int j=0;j<d;j++)
{
cin>>b[m][j];
}
}
for(int m=0;m<c;m++)
{
for(int j=0;j<d;j++)
{
if(a[m][j]==b[m][j])
{
z++;
}
}
}
cout<<setiosflags(ios::fixed)<<setprecision(2);
cout<<z/(c*d)*100;
}
Gravatar10001
2018-11-26 20:46 3楼
不开double精度问题跪哭QAQ ……
Gravatar水中音
2014-11-02 20:45 2楼
弧度和角度互化错了,我的数学一定是信息老师教的OTZZZZZZZZZZZZZZZZZ
2333333333333333333333333333
GravatarHouJikan
2014-09-24 17:02 1楼

999. [東方S2] 雾雨魔理沙

★★☆   输入文件:marisa.in   输出文件:marisa.out   简单对比
时间限制:1 s   内存限制:128 MiB

Problem 3

雾雨魔理沙(marisa.cpp/c/pas)

题目描述

在幻想乡,雾雨魔理沙(きりさめ まりさ)
是住在魔法之森普通的黑魔法少女。话说最近魔理沙从香霖堂拿到了升级过后的的迷你八卦炉,她迫不及待地希望试试八卦炉的威力。在一个二维平面上有许多毛玉
(一种飞行生物,可以视为点),每个毛玉具有两个属性,分值value和倍率mul。八卦炉发射出的魔法炮是一条无限长的直线形区域,可以视为两条倾斜角为
α的平行线之间的区域,平行线之间的距离可以为任意值,如下图所示:

蓝色部分上下两条长边之间就是这次八卦炉的攻击范围,在蓝色范围内的毛玉(红点)属于该此被击中的毛玉,如果一个毛玉刚好在边界上也视为被击中。毛玉击中以后就会消失,每次发射八卦炉得到分值是该次击中毛玉的分值和乘上这些毛玉平均的倍率,设该次击中的毛玉集合为S,则分值计算公式为:

    Score = SUM{value[i] | i 属于 S} * SUM{mul[i] | i 属于 S} / |S|

其中|S|表示S的元素个数。魔理沙将会使用若干次八卦炉,直到把所有毛玉全部击中。任意两次攻击的范围均不重叠。最后得到的分值为每次攻击分值之和。现在请你计算出能够得到的最大分值。

输入格式

1行:1个整数N,表示毛玉个数

2..N+1行:每行四个整数x, y, value, mul,表示星星的坐标(x,y),以及valuemul

N+2行:1个整数α,表示倾斜角角度,0°到180°

输出格式

1行:1个实数,表示最大分值,保留三位小数

输入样例

3

1 3 3 1

2 1 2 2

3 4 2 1

45

输出样例

9.333

数据范围

对于60%的数据:1 <= N <= 500

对于100%的数据:1 <= N <= 2,000

-10,000 <= x,y <= 10,000

1 <= value,mul <= 100

注意

π = 3.1415926