|
shui
题目 1009 [NOIP 2008]ISBN号码
2018-10-12 12:39:45
|
|
题目 1 加法问题
2018-10-12 11:31:31
|
|
题目 72 队列基本操作
2018-10-12 11:10:01
|
|
”如果团体的数字除以mod 47的余数等于慧星的数字除以47的余数“这句翻译有点问题,应为“如果团体的数字%47于彗星的数字%47相同”
题目 799 [USACO 1.1] 你的飞碟在这儿
2018-10-12 08:37:41
|
|
TMD这是数据被改过了还是什么,,,根本不用处理好么= =
|
|
#include <iostream>
#include <stdio.h> #include <stdlib.h> #include <string> #include <algorithm> #include <string.h> using namespace std; string BigMul(string s,string t){ freopen("mul.in","r",stdin); freopen("mul.out","w",stdout); int sum[10005] = {0},a[10005],b[10005],tmp,extra,i,j,start,length1,length2; char goal[10005]; reverse(s.begin(),s.end()); reverse(t.begin(),t.end()); length1 = s.length(); length2 = t.length(); for(i = 0;i < length1;i++){ a[i] = (int)(s[i] - '0'); } for(i = 0;i < length2;i++){ b[i] = (int)(t[i] - '0'); } for(i = 0;i < length1;i++){ start = i; for(j = 0;j < length2;j++){ sum[start] += a[i]*b[j]; start ++; } } for(i = 0;i < start;i++){ sum[i + 1] += sum[i] / 10; sum[i] = sum[i] % 10; } while(sum[i] == 0){ i --; } start = 0; for(j = i ;j >= 0;j--){ goal[start] = (char)(sum[j] + '0'); start ++; } goal[start] = '\0'; return (string)goal; } int main(){ string s,t; while(cin>>s>>t){ freopen("in.txt","r",stdin); cout<<BigMul(s,t)<<endl; } } 求大神帮忙改一下 |
|
代码分享。。。
|
|
这题没人做吗。。。
题目 2787 good number(无数据)
2018-10-11 19:46:42
|
|
这题必须水 不水不真蒟蒻
|
|
kruscal的复习
我花了两个小时才调对, 原来数组要开到25500001 gg,废了 |
|
kruscal的复习
我花了两个小时才调对, 原来数组要开到25500001 gg,废了 |
|
上榜1榜2榜3的都是运气好
(经实证) |
|
给各位一个十分忠肯的建议:这道题是需要动态规划的!!!!!!!!!!
|
|
妈耶,还要手动开栈
|
|
四百道题大关,过!!!!
题目 2989 孙悟空
2018-10-10 20:33:50
|
|
回复 @leon : 不信你可以试试
题目 3 服务点设置
2018-10-10 20:07:10
|
|
#include<iostream>
#include<cstdio> #include<cstring> #include<string> using namespace std; int main() { freopen("gjsub.in","r",stdin); freopen("gjsub.out","w",stdout); string sd,se,sa; int a[100001]={0},b[100001]={0},c[100001]={0},mc,me,mz,n,mo=0; cin>>sd>>se; mc=sd.size(); me=se.size(); if(mc<me||mc==me&&sd<se) { sa=sd;sd=se;se=sa;n=mc;mc=me;me=n;mo=-1; } for(int i=1;i<=mc;i++) a[i]=sd[mc-i]-'0'; for(int i=1;i<=me;i++) b[i]=se[me-i]-'0'; int i=1,o=0; while(i<=mc||i<=me) { if(a[i]<b[i]){a[i+1]--;a[i]+=10;} c[i]=a[i]-b[i]; i++; } mz=i; while(c[mz]==0&&mz>1)mz--; if(mo==-1) cout<<"-"; for(int i=mz;i>=1;i--) cout<<c[i]; return 0; } 终于做出来了:-)
题目 38 增强的减法问题
2018-10-10 20:01:24
|
|
题目 3 服务点设置
2018-10-10 19:22:47
|
|
hh
题目 152 [USACO Dec07] 泥潭
2018-10-10 18:54:09
|
|
想到了应该是正解的东西,最坏O(n^2+mlogm),时限降到2s
|