
数学
轩怡沫
这个作者很懒,什么都没留下…
展开
-
uva 12716 - GCD XOR
这个题很容易想成枚举a,但是就没法找c了,原创 2014-08-11 14:36:35 · 453 阅读 · 0 评论 -
uva 151 - Power Crisis
约瑟夫环问题。把第一个去掉,应该找的13就变成了11。#includeusing namespace std;int main(){ int n; while(cin>>n&&n) { int i,j,x; for(i=1;i<n-1;i++) { x=0; for(j=1;j<n;j++)原创 2013-05-20 17:16:49 · 1414 阅读 · 0 评论 -
uva 729 - The Hamming Distance Problem
注意一的个数是第一个数减第二个数。#include#include#includeusing namespace std;int main(){ int n; char str[1000]; cin>>n; while(n--) { memset(str,0,sizeof(str)); int len,zero_原创 2013-05-21 21:15:10 · 453 阅读 · 0 评论 -
uva 10714 Ants
最短距离就是,找到距离n/2最近的那个数,算出其距离左边或右边更近的那个距离。最大距离就是,距离边缘最近的那个数,算出其距离左边或右边更远的那个距离。#include#include#include#includeusing namespace std;int main(){ int n; cin>>n; while(n--) {原创 2013-05-22 17:57:44 · 449 阅读 · 0 评论 -
uva 10079 - Pizza Cutting
pizza切n刀,最多切成几块。公式(n*(n+1))/2+1。#includeusing namespace std;int main(){ long long n; while(cin>>n&&n>=0) cout<<(n+1)*n/2+1<<endl; return 0;}原创 2013-05-22 18:21:35 · 544 阅读 · 0 评论 -
uva 256 - Quirksome Squares
#include #include#includeusing namespace std;int main(){ int n; int i,j; while(scanf("%d",&n)!=EOF) { if(n==2) { for(i=0;i<10;i++) for原创 2013-05-23 10:05:46 · 786 阅读 · 0 评论 -
uva 11538 Chess Queen
#include using namespace std;int main(){ long long n,m; while(cin>>n>>m&&(n+m)) { if(n>m) swap(n,m); long long count=2*n*(n-1)*(3*m-n-1)/3; count+=m*n*(n-1)+n*m原创 2013-05-23 10:14:16 · 441 阅读 · 0 评论 -
uva 10127 - Ones
#include using namespace std;int main(){ int number; while (cin >> number) { long long start = 1; int counter = 1; while (start % number) {原创 2013-05-23 10:30:42 · 571 阅读 · 0 评论 -
uva 10193 All You Need Is Love
将两个2进制的数转换成10进制的数,然后看俩数是否互质,即最大公约数是否为1.#include #include#include#includeusing namespace std;char s1[33],s2[33];int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}int tonum(c原创 2013-05-23 10:55:26 · 855 阅读 · 0 评论 -
uva 10879 Code Refactoring
求一个数的两个因数。#include #includeusing namespace std;int main(){ int N; cin>>N; for (int i=1; i<=N; i++) { long sum,num1,num2; cin>>sum; cout<<"Case #"<<i<<": "原创 2013-05-23 11:13:58 · 462 阅读 · 0 评论 -
uva 10025 The ? 1 ? 2 ? ... ? n = k problem
1. 当 k=0 时,n=3。2. 当 k!=0 时,找到一个最小的n,使得n*(n+1)/2大于等于|k|,并且n*(n+1)/2-|k|为偶数。#include#includeusing namespace std;int main(){ int n; cin>>n; while(n--) { int num; c原创 2013-05-23 11:34:26 · 625 阅读 · 0 评论 -
uva 152 Tree's a Crowd
#include #include #include #include using namespace std;int main(){ int x[10000],y[10000],z[10000],count[10000]; int num=0; while(cin>>x[num]>>y[num]>>z[num]&&(x[num]+y[num]+z[num])原创 2013-05-18 19:19:09 · 448 阅读 · 0 评论 -
uva 10112 Myacm Triangles
#include#include #include #include using namespace std;char threePoint[10010][5];double area[10010];int main(){ int n; while(cin>>n&&n) { int num_area=0; int x[17原创 2013-05-18 18:48:51 · 426 阅读 · 0 评论 -
uva 10250 - The Other Two Trees
用旋转向量#include#includeusing namespace std;int main(){ double x1,y1,x2,y2,x3,y3,x4,y4,cx,cy; while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF) { if(x1==x2 && y1==y2)原创 2013-05-14 22:40:39 · 386 阅读 · 0 评论 -
uva 1587 - Box
判断6个面能否组成立方体原创 2014-07-29 20:28:52 · 1765 阅读 · 0 评论 -
Codeforces#258 (Div.2) E - Devu and Flowers
E. Devu and Flowerstime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputDevu wants to decorate his garden with flowers. H原创 2014-07-25 21:26:07 · 750 阅读 · 0 评论 -
Codeforces 451D Count Good Substrings
D. Count Good Substringstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputWe call a string good, if after merging all原创 2014-07-25 15:39:43 · 573 阅读 · 0 评论 -
POJ 1026 Cipher 置换群
进过多次加密,解密过程。原创 2014-06-12 20:45:44 · 505 阅读 · 0 评论 -
Valera and Swaps (置换群)
给出一排数8 4 5 3 2 7,那么我们最终的状态为2 3 4 5 7 8,这里的轮换有(8 2 7)(4 5 3),这里8应该在第六个位置,而第6个位置是7,7应该在5这个位置,而第5个位置为2,2应该在1这个位置,这样就到了8所在的位置,我们称这是一个轮换。首先需要明确的一点是对于每个群,假设有k个数,那么我们需要交换k-1次得到升序。对于每一个群,我们有两种换发:1.群里换原创 2014-06-10 17:58:33 · 894 阅读 · 0 评论 -
POJ 2369 Permutations
找出所有的循环,求出没个环的节数,然后求原创 2014-06-11 19:34:58 · 404 阅读 · 0 评论 -
10317 - Equating Equations
#include #include #include #include #include #include #define maxn 16 + 10#define ll long long#define INF 1000000000#define FOR(i, a, b) for(int i = a; i < b; ++i)using namespace std;int n原创 2013-10-22 00:12:10 · 491 阅读 · 0 评论 -
uva 579 ClockHands
#include#include#includeusing namespace std;int main(){ double angle1,angle2; double hour,min; char ch; while(cin>>hour>>ch>>min) { if(hour+min==0) break;原创 2013-05-13 20:34:11 · 423 阅读 · 0 评论 -
uva 305 Joseph
需要注意的是:必须先将15以前的都计算好,然后直接输出,如果输入一次计算一次就会TLE。(uva上测试数据不超过15,所以计算15以前就AC了)#include#includeusing namespace std;bool joseph(int k,int m){ int i,a=(m-1)%(2*k),n=2*k; for(i=1; i<k; ++i原创 2013-05-13 20:38:10 · 589 阅读 · 0 评论 -
uva 11461 Square Numbers
#include#includeusing namespace std;int main(){ int num1,num2; while(cin>>num1>>num2&&(num1+num2)) { int count=0,i,num; for(i=num1;i<=num2;i++) { num=sqrt((double)i原创 2013-05-13 21:33:14 · 510 阅读 · 0 评论 -
uva 10916 - Factstone Benchmark
#include#include#includeusing namespace std;int main(){ int n,i; double m,sum; while (cin>>n&&n) { m=pow(2,(n-1940)/10)*log(2); sum=0; for (i=1; sum<m; i++原创 2013-05-23 11:43:26 · 472 阅读 · 0 评论 -
uva 748 Exponentiation
不想说这道题多烦了!!!#include#include#include#includeusing namespace std;#define M 200int findPointPos(char a[]){ int alen=strlen(a); for(int i=0;i<alen;i++) if(a[i]=='.')原创 2013-05-23 14:44:44 · 436 阅读 · 0 评论 -
uva 10943 - How do you add?
找规律。#include#include#include#include#include#include#includeusing namespace std;long long nk[110][110];int main(){ int n,k; for(int i = 1; i <= 100; i++) nk[1][i] = i;原创 2013-06-17 23:31:16 · 541 阅读 · 0 评论 -
uva 10057 - A mid-summer night's dream.
#include #include #include #include using namespace std;int n, a[1000000];int main(){ int i, min, max, sum, count; while(cin >> n) { for(int i = 0; i < n; i ++)原创 2013-06-18 07:07:09 · 486 阅读 · 0 评论 -
uva 10375 - Choose and divide
#include int main(){ int p, q, r, s; while (~scanf("%d %d %d %d", &p, &q, &r, &s)) { if (p - q < q) q = p - q; if (r - s < s) s = r - s; double ret = 1.0;原创 2013-06-19 21:17:51 · 726 阅读 · 0 评论 -
uva 11029 - Leading and Trailing
后三位用幂取模可以求出注意补0总位数可利用t=k*log10((double)n)+1 向上取整求出前三位根据方程head=n^k/(10^(t-3))求出#include#include#includeusing namespace std;int pow_mod(int a,int n,int m){ if(n==0) return 1%m;原创 2013-06-19 22:01:24 · 1091 阅读 · 0 评论 -
uva 10310 - Dog and Gopher
#include #include #include #include using namespace std;struct point{double x, y;};int main(){ int n; point g, d, h[100000]; while(scanf("%d%lf%lf%lf%lf", &n, &g.x, &g.y, &d.x, &d.y)!=EOF原创 2013-06-24 11:19:37 · 610 阅读 · 0 评论 -
分数拆分
#include #include #include #include #include #include using namespace std;int main(){ double k, x, y; while(scanf("%lf", &k)!=EOF) { for(y = 1; y <= 2*k; y++) {原创 2013-06-29 23:26:12 · 482 阅读 · 0 评论 -
最大乘积
#include #include #include #include #include #include using namespace std;int main(){ long long n, a[20]; while(scanf("%lld", &n) != EOF) { long maxn = 0; for(long原创 2013-06-29 23:33:39 · 524 阅读 · 0 评论 -
Naive and Silly Muggles
#include #include #include #include #include #include #include #include using namespace std;struct point{double x, y;}p[5];double dist(point a, point b){ return sqrt((a.x-b.x)*(a.x-b.x)原创 2013-09-12 10:39:37 · 820 阅读 · 0 评论 -
Save Labman No.004
#include #include using namespace std;int main(){ int ca;double x1,x2,x3,x4,y1,y2,y3,y4,z1,z2,z3,z4,s,t,a,b,c,d,e,f,g,h,i,p,q,r,D,t1,t2,D1,D2; scanf("%d",&ca); while(ca--){ scanf("原创 2013-09-15 22:43:44 · 644 阅读 · 0 评论 -
2013 ACM/ICPC Asia Regional Changsha Online - J Candies
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int a[100005], delta[100005], sum[100005], n;void Soul() {原创 2013-09-23 22:00:28 · 542 阅读 · 0 评论 -
uva 11646 - Athletics Track
#include #include #include #include #include #include using namespace std;int main(){ int cas = 0; double a, b; while( ~scanf( "%lf : %lf", &a, &b ) ) { double x = 400原创 2013-06-16 19:46:25 · 473 阅读 · 0 评论 -
uva 11437 - Triangle Fun
#include #include #include #include #include #include using namespace std;struct Point { double x, y; };double area(Point a, Point b, Point c){ return a.x*b.y+b.x*c.y+c.x*a.y-a.x*c.y-b.x*a.y原创 2013-06-16 19:42:24 · 446 阅读 · 0 评论 -
uva 1315 Crazy tea party
#include #include #include #include #include #include #include #include #include using namespace std;int main(){ int t; cin >> t; while(t--) { int n; cin >>原创 2013-06-16 12:45:06 · 1594 阅读 · 0 评论 -
uva 324 Factorial Frequencies
写出阶乘函数,然后计算各个数字的个数。话说格式一定要注意。调了半天。。。#include#include#includeusing namespace std;#define maxn 3000int num[10]= {0};int f[maxn];int getN(int n){ int i,j; memset(f,0,sizeof(f)); f[0原创 2013-05-23 15:51:57 · 933 阅读 · 0 评论