20131006组队赛-Regionals 2010, Europe - Southeastern

2024-05-04 19:38

本文主要是介绍20131006组队赛-Regionals 2010, Europe - Southeastern,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

A. The Table

 

java题目,就是求每一列的数字的乘积,求最大的乘积的那一个列号:

 

代码:

import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;
public class Main
{public static void main(String[] args){Scanner cin = new Scanner (new BufferedInputStream(System.in));int a,b;BigInteger n;BigInteger array[]= new BigInteger[28];while(cin.hasNext()){for(int i=0;i<=25;i++)array[i]=BigInteger.valueOf(1);a=cin.nextInt();b=cin.nextInt();for(int j = 0; j < b; ++j){for(int i = 0; i < a; ++i){n = cin.nextBigInteger();array[i] = array[i].multiply(n);}}BigInteger tt;tt = BigInteger.valueOf(1);tt = tt.multiply(array[0]);int tp = 1;for(int i = 1; i < a; ++i){if(array[i].compareTo(tt)>=0){tt = array[i];tp = i+1;}}System.out.println(tp);}}
}


E. Control Points

  e题刚开始大家都在交,可是就是WA,后来说是精度的问题,神奇....

 

代码:

#include <iostream>
#include <cstdio>
#include <string>
#include <string.h>
#include <map>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <queue>
#include <set>
#include <stack>
#include <functional>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <numeric>
#include <cassert>
#include <bitset>
#include <stack>
#include <ctime>
#include <list>
#define INF 0x7fffffff
#define max3(a,b,c) (max(a,b)>c?max(a,b):c)
#define min3(a,b,c) (min(a,b)<c?min(a,b):c)
#define mem(a,b) memset(a,b,sizeof(a))
#define maxn 100005
#define eps 1e-9
double num[maxn];
using namespace std;int QuickMod(int  a,int b,int n)
{int r = 1;while(b){if(b&1)r = (r*a)%n;a = (a*a)%n;b >>= 1;}return r;
}int n;
int main()
{while(scanf("%d",&n) == 1){for(int i = 0; i < n; ++i)scanf("%lf",&num[i]);int ans = 1;double tp = num[0];for(int i = 1; i < n; ++i){if(num[i] - tp + eps >= 1.0){tp = num[i];ans++;}}printf("%d\n", ans);}return 0;
}


G. Cosmic Station

 

 这是我们最后A的题,就是说给你一个图的描述。然后对于叶子节点,给出它到后面剩余节点的中间经过的路径数。

问你这幅图里面有多少的内部节点。

 我们开始一直在找规律,然后就一直不知道咋搞。其实我们可以这样想:对于给出的数字,我们可以一步一步的构

建出这个图。我们开始存在1到2的图,比如来第三个叶子节点的时候,那么我们就可以计算出1到3的距离和2到3的距

离,那么我们有(1->3)+(2->3)路径长度,然后我们剪掉1-2的路径,那么我们就会得到新添的3的对应的新增的路径

数的二倍。然后我们就可以得到对应的增加的内部节点的数目。然后对于每一个点都会有一个从1-此点和从某个已经

存在的点到此点的对应的增加的点数,这样一直求最小,就可以求出新增的点对应的增加的内部节点的数目。全部累

加起来就可以了:

 

代码:

#include <iostream>
#include <cstdio>
#include <string>
#include <string.h>
#include <map>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <queue>
#include <set>
#include <stack>
#include <functional>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <numeric>
#include <cassert>
#include <bitset>
#include <stack>
#include <ctime>
#include <list>
#define INF 0x7fffffff
#define max3(a,b,c) (max(a,b)>c?max(a,b):c)
#define min3(a,b,c) (min(a,b)<c?min(a,b):c)
#define mem(a,b) memset(a,b,sizeof(a))
#define eps 1e-9
using namespace std;int QuickMod(int  a,int b,int n)
{int r = 1;while(b){if(b&1)r = (r*a)%n;a = (a*a)%n;b >>= 1;}return r;
}
#define maxn 1050
int num[maxn][maxn];
int main()
{int n;int t;scanf("%d", &t);while(t--){scanf("%d", &n);for(int i = 1; i < n; ++i){for(int j = i+1; j <= n; ++j){scanf("%d", &num[i][j]);num[j][i] = num[i][j];}}int ans = 0;ans = num[1][2] - 1;for(int i = 3; i <= n; ++i){int L = INF;for(int j = 2; j < i; ++j){L = min(L,  num[i][j] + num[1][i] - num[1][j]);}ans += (L/2-1);}cout << ans << endl;}return 0;
}


 

H. Game

 

这是一道博弈的题目,先一直在搞A的JAVA,没有搞,结果大家都过了,就赶紧过来弄。刚开始就简单考虑了一下拿

走的情况WA了。其实就是在判断后面的点的胜负状态的时候需要用到前面的结果。记忆化搜索,对于每一个点,他都

有每行和每列的情况,当我们面对一个点的时候,我们需要用前面的点来决断当前的点的胜负状态。如果前面的点是

必败态,那么我们这一点就是必胜态。对于行和列我们都会影响到当前点的状态。只要有一种情况使得当前点必胜,

那么此点的状态就是必胜态。

 

代码:

#include <iostream>
#include <cstdio>
#include <string>
#include <string.h>
#include <map>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <queue>
#include <set>
#include <stack>
#include <functional>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <numeric>
#include <cassert>
#include <bitset>
#include <stack>
#include <ctime>
#include <list>
#define INF 0x7fffffff
#define max3(a,b,c) (max(a,b)>c?max(a,b):c)
#define min3(a,b,c) (min(a,b)<c?min(a,b):c)
#define mem(a,b) memset(a,b,sizeof(a))
#define eps 1e-9
using namespace std;int QuickMod(int  a,int b,int n)
{int r = 1;while(b){if(b&1)r = (r*a)%n;a = (a*a)%n;b >>= 1;}return r;
}#define maxn 1005
int num[maxn][maxn];
int NUM[maxn][maxn];
int ans[maxn][maxn];
int n;
void init()
{memset(num, 0, sizeof(num));memset(NUM, 0, sizeof(NUM));memset(ans, 0, sizeof(ans));
}
int solve()
{for(int i = 1; i <= n; ++i){for(int j = 1; j <= n; ++j){NUM[i][j] = NUM[i][j-1]^num[i][j];}}for(int i = 1; i <= n; ++i){for(int j = 1; j <= n; ++j)num[i][j] ^= num[i-1][j];}for(int i = 1; i <= n; ++i){for(int j = 1; j <= n; ++j){ans[i][j] = 0;if(!num[i][j] && !ans[i][j-1])ans[i][j] = 1;if(!NUM[i][j] && !ans[i-1][j])ans[i][j] = 1;}}if(ans[n][n])return 1;else return 0;
}
int main()
{while(scanf("%d", &n) == 1){int tt;init();for(int i = 1; i <= n; ++i){for(int j = 1; j <= n; ++j){scanf("%d", &tt);num[i][j] = (tt&1);}}int ans = solve();if(ans)printf("W\n");else printf("L\n");}return 0;
}


J. Shares

 

  这是签到题中的签到题,直接求输入的两个数字a,b->b/(a+1):

代码:

#include <iostream>
#include <cstdio>
#include <string>
#include <string.h>
#include <map>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <queue>
#include <set>
#include <stack>
#include <functional>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <numeric>
#include <cassert>
#include <bitset>
#include <stack>
#include <ctime>
#include <list>
#define INF 0x7fffffff
#define max3(a,b,c) (max(a,b)>c?max(a,b):c)
#define min3(a,b,c) (min(a,b)<c?min(a,b):c)
#define mem(a,b) memset(a,b,sizeof(a))
#define eps 1e-9
using namespace std;int QuickMod(int  a,int b,int n)
{int r = 1;while(b){if(b&1)r = (r*a)%n;a = (a*a)%n;b >>= 1;}return r;
}
int main()
{int A, B;while(scanf("%d%d", &A, &B) == 2)printf("%d\n", B/(A+1));
}


 

 

这篇关于20131006组队赛-Regionals 2010, Europe - Southeastern的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Regionals 2004 Asia - Beijing Argus 小根堆

点击打开链接 小根堆 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokeni

【系统架构设计师-2010年】综合知识-答案及详解

更多内容请见: 备考系统架构设计师-核心总结索引 文章目录 【第1题】【第2题】【第3题】【第4~5题】【第6题】【第7~8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第21题】【第22题】【第23题】【第24题】【第25题】【第26~27题】【第28题】【第29~30题】【第31

九度考研真题 浙大 2010-2浙大1006:ZOJ问题

//题目1006:ZOJ问题 #include<iostream> #include<string.h> using namespace std; int main() { char s[1010]; char a[1010];//开始部分 char b[1010]; //中间部分  char c[1010];//后部分  int num1=0,n

九度考研真题 浙大 2010-1浙大1003:A+B

//题目1003:A+B #include<iostream> #include<string.h> using namespace std; int main() { int n1,n2; int s1[12],s2[12]; int s[12]; char c1[20],c2[20]; while(cin>>c1){ n1=0,n2=0;

在Visual Studio 2010中开发Qt程序

本文演示如何用VS2010开发QT的应用程序界面,前提是已经搭建好了开发环境,搭建方法很简单,我在之前的博客也有描述。此处不再赘述。 1.打开VS2010的IDE开发环境,新建一个QT Application的项目命名为QtGrapher,所有的设置都可以保持默认,创建完成后可以编译运行程序,如果环境配置都正确,会弹出一个空白的GUI界面,如下所示, 2.在IDE的解决方案资源管理器中双

QT+VTK+Visual Studio 2010联合开发

QT+VTK+Visual Studio 2010联合开发 由于开发VTK程序是需要的GUI环境需求比较苛刻,传统的MFC框架在开发简单的GUI程序时还行,稍微复杂一点的程序就显得生硬。因此在开源社区里,开发VTK的GUI程序时,普遍采用QT。以下简单描述这三者的关系。 准备工作,这三者应该提前安装,建议遵循安装顺序为先Visual Studio 2010,再按装QT,再按装CMake,最后安

QT与Visual Studio 2010整合的例子

做GUI界面的设计时,目前已不再拘泥于VS的MFC框架,有很多开源的工具。本例以QT与VS2012的整合为例,演示环境搭建,后续将会用QT做VT的开发工作。 第一步,下载QT和QT与VS的插件,在VS2010下以及结合VTK的情况,网络上经网友实验后效果比较好的版本如下: 1. QT:因为是与VS2010整合,所以选择版本:qt-win-opensource-4.8.5-vs2010.exe,

2010年

D C C 答案D 后续序列d b c a C B (不会)A   哈夫曼树中没有度为1的结点 A  答案C 注意题目 在任何情况下,假设六个点构成完全无向图 6(6-1)2=15,再加上第七个点 15+1=16 B B D A 装载因子        表中记录数/表长 可以算出表长 0.7=7/x         x=10

黑龙江省2010年省赛

数论题+打表题,因子和,模板打就好。 1008: Friends number 时间限制:  1 Sec   内存限制:  128 MB 提交:  360   解决:  99 [ 提交 ][ 状态 ][ 讨论版 ] 题目描述 Paula and Tai are couple. There are many stories between them. The day

湖南省2010年省赛

汽水瓶 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KBTotal submit users: 110, Accepted users: 110Problem 10930 : No special judgementProblem description  有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶