ZOJ 3406 Another Very Easy Task

#include <cstdio>
#include <cstring>
const int N = 100005;
char s[N];
int main() {
bool f = 0;
int size = 0;
char ch;
while(scanf("%c", &ch)!=EOF) {
if( !(ch >= 'a' && ch <='z') && !(ch >='A' && ch <= 'Z')) {
if(size <= 2) {
s[size] = '\0';
printf("%s", s);
} else {
printf("%c%d%c", s[0], size-2, s[size-1]);
}
size = 0;
printf("%c", ch);
} else {
s[size++] = ch;
}
}
return 0;
}
ZOJ 3407 Doraemon's Cake Machine
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <iostream>
using namespace std;
typedef long long ll;
int Rand(int l,int r){
int ans = rand()%r+1;
while(ans<l) ans = rand()%r+1;
return ans;
}
int main() {
// freopen("b.txt","w+",stdout);
int T;
scanf("%d", &T);
ll n, m;
while(T -- > 0) {
cin >> n >> m;
// n = Rand(1,6000000), m = Rand(0,10000);
if(m == 0) {
if(n == 1) puts("0");
else puts("-1");
continue;
}
if(m >= n) {
puts("-1");
}else {
ll d = 2 * (n-m) - 1;
ll ans = -1;
ans = 2 * m - n;// shu
if(ans < 0) ans = -1;
if(n==m+1)ans = 0; // heng
for(ll i = 1; i * i <= d; i += 2) {
if( d % i == 0 ) {
ll a = (i + 1) / 2;
ll b = (d / i - 1) / 2;
ll c = m - a - b;
if(c < 0) continue;
if(ans == -1 || ans>c ){
// printf("%I64d %I64d %I64d %I64d\n", d, a, b, c);
ans = c;
}
}
}
cout<<ans<<endl;
}
}
return 0;
}

problemCode=3410">ZOJ 3410

Layton's Escape
#include <cstdio>
#include <cstring>
#include <cmath>
#include <queue>
#include <map>
#include <stack>
#include <iostream>
#include <algorithm>
/*
#include <bits/stdc++.h>
#define _ ios_base::sync_with_stdio(0);cin.tie(0); using namespace std; int main() {
return 0;
}
*/
typedef long long ll;
const ll Inf = (ll)(1e15);
const int N = 25000 + 10;
const int M = 5000 + 10;
struct node {
int cos, lim;
}; node a[N];
ll d[2][M];
std::priority_queue<int> Q; bool cmp(const node& i, const node& j) {
return i.lim < j.lim;
} int main() {
int n, K, cnt;
while (~scanf("%d%d", &n, &K)) {
for (int i = 0; i < n; ++i)
scanf("%d%d", &a[i].cos, &a[i].lim);
std::sort(a, a + n, cmp);
while (!Q.empty())
Q.pop();
cnt = 0;
ll sum = 0;
for (int i = 0; i < n; ++i) {
sum += a[i].cos;
Q.push(a[i].cos);
while (sum > a[i].lim && !Q.empty()) {
sum -= Q.top();
++cnt;
Q.pop();
}
if (sum > a[i].lim || cnt >= K) {
cnt = -1;
break;
}
} printf("%d\n", cnt);
}
return 0;
}
ZOJ 3411 Special Special Judge
import java.io.*;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.util.Scanner; public class Main {
BigInteger gcd(BigInteger a, BigInteger b) {
BigInteger tmp;
while(a.equals(BigInteger.ZERO)==false){
b = b.mod(a);
tmp = b;
b = a;
a = tmp;
}
return b;
} public void work() {
int n, m, a, b, x;
BigInteger[][] d = new BigInteger[55][55];
BigInteger up, down, v; while (cin.hasNext()) {
n = cin.nextInt();
m = cin.nextInt();
a = cin.nextInt();
b = cin.nextInt();
v = BigInteger.valueOf(b - a + 1);
for (int i = 0; i <= n; ++i)
for (int j = 0; j <= m; ++j)
d[i][j] = BigInteger.ZERO;
d[0][0] = BigInteger.ONE;
for (int i = 0; i < n; ++i) {
x = cin.nextInt();
for (int j = 0; j <= m; ++j)
if (d[i][j].compareTo(BigInteger.ZERO) > 0)
for (int z = a; z <= b; ++z)
if (Math.abs(x - z) + j <= m) {
d[i + 1][Math.abs(x - z) + j] = d[i + 1][Math
.abs(x - z) + j].add(d[i][j]);
}
}
up = BigInteger.ZERO;
for (int i = 0; i <= m; ++i)
up = up.add(d[n][i]);
down = BigInteger.ONE;
for (int i = 1; i <= n; ++i)
down = down.multiply(v);
v = gcd(up, down);
up = up.divide(v);
down = down.divide(v);
out.println(up + "/" + down);
}
out.close();
} Main() {
cin = new Scanner(System.in);
out = new PrintWriter(System.out);
} public static void main(String[] args) {
Main e = new Main();
e.work();
} public Scanner cin;
public PrintWriter out; }

problemCode=3414">ZOJ 3414

Trail Walk

problemCode=3414">

#include <cstdio>
#include <cstring>
#include <math.h>
#include <iostream>
using namespace std;
#define eps (1e-8)
const int N = 100005;
bool Is0(double x){
return (x>0?x:-x)<eps;
}
struct node{
double x,y;
void put(){
printf("(%.3f, %.3f)\n",x,y);
}
}a[N], last;
double dis(node aa,node bb){
return sqrt((aa.x-bb.x)*(aa.x-bb.x)+(aa.y-bb.y)*(aa.y-bb.y));
}
int n,m;
int main() {
int i,j,Cas = 1;
while(~scanf("%d %d",&n,&m)) {
m++;
printf("Route %d\n",Cas++);
a[0].x=a[0].y=0;
double len = 0;
for(i=1;i<=n;i++) {
scanf("%lf %lf",&a[i].x,&a[i].y);
len += dis(a[i],a[i-1]);
}
double now = len/(double)m;
// cout<<"len:"<<len<<"now: "<<now<<endl;
int num = 1;
last = a[0];
for(i = 1; i <= n; i++) {
if(num>=m)break;
// last.put();
double t = dis(last, a[i]);
if(t<now && !Is0(t-now)) {
// puts("1");
now -= t;
last = a[i];
continue;
}
else if(Is0(t-now))
{
// puts("2");
printf("CP%d: ",num++);
last = a[i];
now = len/(double)m;
a[i].put();
}
else {
// puts("3");
printf("CP%d: ",num++);
double b = now/t;
double x = a[i].x-last.x, y = a[i].y-last.y;
node tmp = last;
tmp.x += b*x; tmp.y += b*y; tmp.put();
last = tmp;
now = len/(double)m;
i--;
}
}
}
return 0;
}
/*
5.8863495173726744416200360616723
1.4715873793431686104050090154181 */

版权声明:本文博主原创文章。博客,未经同意不得转载。

ZOJ Monthly, October 2010 ABEFI的更多相关文章

  1. ZOJ 3913 Bob wants to pour water ZOJ Monthly, October 2015 - H

    Bob wants to pour water Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge There i ...

  2. ZOJ 3911 Prime Query ZOJ Monthly, October 2015 - I

    Prime Query Time Limit: 1 Second      Memory Limit: 196608 KB You are given a simple task. Given a s ...

  3. ZOJ 3910 Market ZOJ Monthly, October 2015 - H

    Market Time Limit: 2 Seconds      Memory Limit: 65536 KB There's a fruit market in Byteland. The sal ...

  4. ZOJ 3908 Number Game ZOJ Monthly, October 2015 - F

    Number Game Time Limit: 2 Seconds      Memory Limit: 65536 KB The bored Bob is playing a number game ...

  5. ZOJ 3905 Cake ZOJ Monthly, October 2015 - C

    Cake Time Limit: 4 Seconds      Memory Limit: 65536 KB Alice and Bob like eating cake very much. One ...

  6. ZOJ 3903 Ant ZOJ Monthly, October 2015 - A

    Ant Time Limit: 1 Second      Memory Limit: 32768 KB There is an ant named Alice. Alice likes going ...

  7. 143 - ZOJ Monthly, October 2015 I Prime Query 线段树

    Prime Query Time Limit: 1 Second      Memory Limit: 196608 KB You are given a simple task. Given a s ...

  8. 浙大月赛ZOJ Monthly, August 2014

    Abs Problem Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Alice and Bob is playing a ga ...

  9. ZOJ 4010 Neighboring Characters(ZOJ Monthly, March 2018 Problem G,字符串匹配)

    题目链接  ZOJ Monthly, March 2018 Problem G 题意  给定一个字符串.现在求一个下标范围$[0, n - 1]$的$01$序列$f$.$f[x] = 1$表示存在一种 ...

随机推荐

  1. 持续集成环境Jenkins的搭建和使用

    这几天试着搭了个持续集成环境,我使用的是Jenkins,它的前身是Hadson,由于被Oracle收购了,所以换个名字继续开源,这个有点像MySQL. 持续集成总是跟敏捷开发什么的搞在一起,显得非常高 ...

  2. FZU2179(数位dp)

    传送门:Chriswho 题意:求区间[1,n]内能整除自己本身各位数字的数的个数. 分析:这题跟CF 55D Beautiful numbers一样的,一个数能被它的所有非零数位整除,则能被它们的最 ...

  3. hdu5172(线段树)

    传送门:GTY's gay friends 题意:判断区间[l,r]内的数字是否符合1~len(r-l+1)的一个全排列. 分析:pos[i]记录数字i出现的最大位置,pre[i]记录在位置i的数字a ...

  4. Codeforces Round #272 (Div. 1)C(字符串DP)

    C. Dreamoon and Strings time limit per test 1 second memory limit per test 256 megabytes input stand ...

  5. 基于CefGlue的桌面应用开发

    原文地址:http://johnnyfee.github.io/csharp/2013/12/21/cef-glue/ 前言 如果你想使用WEB技术来开发桌面客户端,并且是想使用的语言也是C#时,那请 ...

  6. 每天进步一点点——Linux磁盘管理LVM与RAID

    转载请注明出处:http://blog.csdn.net/cywosp/article/details/38965799 1. 传统磁盘管理问题 当分区大小不够用时无法扩展其大小,仅仅能通过加入硬盘. ...

  7. 一次失败的刷题经历:[LeetCode]292之尼姆游戏(Nim Game)(转)

    最近闲来无事刷LeetCode,发现这道题的Accept Rate还是挺高的,尝试着做了一下,结果悲剧了,把过程写下来,希望能长点记性.该题的描述翻译成中文如下: 你正在和你的朋友玩尼姆游戏(Nim ...

  8. WPF界面设计技巧(3)—实现不规则动画按钮

    原文:WPF界面设计技巧(3)-实现不规则动画按钮 发布了定义WPF按钮的教程后,有朋友问能否实现不规则形状的按钮,今天我们就来讲一下不规则按钮的制作. 不规则按钮的做法实际上和先前我们做不规则窗体的 ...

  9. Shell split character line by line

    while read line      do            account=`echo "$line"| cut -c1-9`'|'            account ...

  10. discuz 插件开发 新手入门

    作为一个新手,目前也是刚刚玩转discuz的插件功能,好东西不敢独享,就拿出来大家一起分享入门的过程.现在网上很多关于discuz的插件教程都是很简单的教程,原因可能是这个东西是商业化的东西,本着分享 ...