车票网站模板,湛江做网站咨询电话,wordpress文章缩略图功能,加盟类网站怎么做编程1小时#xff0c;提交4小时 做这种比赛一定要选一个好OJ啊 黑白图像直方图 发布时间: 2017年7月8日 21:00 最后更新: 2017年7月8日 22:38 时间限制: 1000ms 内存限制: 128M 描述 在一个矩形的灰度图像上#xff0c;每个像素点或者是黑色的或者是白色的。黑色像素点…编程1小时提交4小时 做这种比赛一定要选一个好OJ啊 黑白图像直方图 发布时间: 2017年7月8日 21:00 最后更新: 2017年7月8日 22:38 时间限制: 1000ms 内存限制: 128M 描述 在一个矩形的灰度图像上每个像素点或者是黑色的或者是白色的。黑色像素点用1 表示白色像素点用0 表示。现在要求你编写一个程序计算每列上黑色像素点的个数并输出。如下图所示是一个6∗8 的黑板图像。 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 输入 输入有多组组。 每组的第一行有2 个整数m 、n 1m n100 。 接着有m 行每行有n 个数字每个数字是0 或1 之间用一个空格分开。 输出 对图像数据依次一行输出图像中每列黑色像素点的总数。 样例输入1 复制 3 5
1 1 0 0 1
0 1 1 0 1
1 1 1 1 0
6 8
1 1 0 0 1 1 1 1
0 1 1 0 1 0 1 0
1 1 1 1 0 1 1 0
0 1 1 0 0 1 0 0
1 0 1 0 0 1 0 0
0 1 0 1 0 1 1 0样例输出1 2 3 2 1 2
3 5 4 2 2 5 4 1 直接统计每列的和就好 #include bits/stdc.h
using namespace std;
int a[105];
int main() {ios::sync_with_stdio(false);cin.tie(0);int n,m;while(cinnm){for(int i0;im;i)a[i]0;for(int i0;in;i)for(int j0;jm;j){int p;cinp;a[j]p;}couta[0];for(int i1;im;i){cout a[i];}coutendl;}return 0;
} 神无月排位赛 发布时间: 2017年7月8日 21:06 最后更新: 2017年7月8日 22:35 时间限制: 1000ms 内存限制: 128M 描述 《神无月》作为盛大游戏2017年的全新原创大作其开发团队在自研实力强大的传世工作室基础之上还有美树本晴彦等日本一线知名画师及日本游戏音乐大师崎元仁加盟参与制作。目前正在不限号内测中有很多玩家进入到神无月的世界中。 在神无月中有着玩家之间切磋的排位赛其段位主要分为五大段位从低到高依次为新兵、菁英、战将、统帅、王者。每个玩家只有从新兵段位慢慢努力一点点晋级才能到达王者段位。成为一个王者是每一个玩家的追求和心愿。 假设神无月的段位系统如下 从低到高的段位依次简记为D、C、B、A、S。玩家打排位赛每胜利1局增加10分输1局扣除5分。每一个段位都需要积分累计100分才可以进入晋级赛晋级赛采用三局两胜制3局中达到2局胜利就晋级成功有2局失败就算晋级失败, 连胜或连败两局第三局不需要打了。晋级成功后成为下一个段位积分变为0重新开始算分如果晋级失败则积分变为60重新开始算分。为方便计算如果该玩家一直输积分降为0后不再降分也不会掉段位。 大圣同学最近对神无月非常喜欢一直在努力成为王者。他从新兵0分开始打排位赛(刚开始处在段位D)他告诉你最近若干场比赛的最后胜利情况请你写个算法猜猜他现在所处的段位。当段位到达S时段位将不再提高。 输入 有若干组数据。 每组的第一行为一个N 0N500 表示有N 场比赛数据。 第二行有N 个数字每个数字之间有空格隔开每个数字代表每场比赛的输赢情况1 表示赢0 表示输。 注意当第n 场比赛结束时若大圣同学正处于晋级赛并且还无法决定晋级成功或失败那么可以忽略这场晋级赛 输出 对于每组比赛数据输出最后所处的段位的一个英文字符D 、C 、B 、A 、S 这五个段位中的一个。 样例输入1 复制 15
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
30
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1样例输出1 C
B模拟。把排位赛模拟下晋级赛模拟下 #include bits/stdc.h
using namespace std;
int main()
{ios::sync_with_stdio(false);cin.tie(0);int t;while(cint){int n0,f0,f10,f20,f30;for(int i0; it; i){int p;cinp;if(!f){if(p)n10;else if(n5)n-5;if(n100)f1;}else{if(p)f11;else f21;if(f22){f0;n60;f10;f20;}else if(f12){f0;n0;f3;f10;f20;}}}if(f33)printf(S\n);else if(f32)printf(A\n);else if(f31)printf(B\n);else if(f30)printf(C\n);elseprintf(D\n);}return 0;
} I Love ces 发布时间: 2017年7月8日 21:08 最后更新: 2017年7月8日 22:33 时间限制: 1000ms 内存限制: 128M 描述 时间过得好快啊SHU计算机学院又有新的一批小朋友们进来了。2016级的同学想必也是非常喜欢计算机学院的于是院长想测试一下大家对计算机的喜爱程度院长大人别查我水表。 院长给大家一行由大写字母A-Z和小写字母a-z组成的字符串允许同学们在这个字符串里面任意挑选若干个字符问最多可以组成多少个I LOVE CES不区分大小写没有空格即只要有这8个字符就可以组成一个。 输入 多组输入每组一行输入一个字符串。 字符串长度100000 。 输出 每组输出一行答案如题意。 样例输入1 复制 IlovecesiLOVECES 样例输出1 2 统计字符个数 #include bits/stdc.h
using namespace std;
char s[100005];
int main() {while(~scanf(%s,s)){int I0,l0,o0,v0,c0,e0,st0;for(int i0;s[i];i)if(s[i]i||s[i]I)I;else if(s[i]l||s[i]L)l;else if(s[i]o||s[i]O)o;else if(s[i]v||s[i]V)v;else if(s[i]e||s[i]E)e;else if(s[i]c||s[i]C)c;else if(s[i]s||s[i]S)st;e/2;printf(%d\n,min(min(min(I,l),min(o,v)),min(min(c,e),st)));}return 0;
} 添加好友 发布时间: 2017年7月8日 21:10 最后更新: 2017年7月8日 22:32 时间限制: 1000ms 内存限制: 128M 描述 Tony最近喜欢上了龙之谷游戏所以他想叫上他的好友组建一个公会来一起享受这款游戏。 Tony一共有n 个好友他可以叫上任意k 1kn 个好友来组建公会并且所有好友都会答应他的请求。问Tony一共可以有多少种方案组建这个公会 只要不是完全相同的人组建的方案视为不同方案并且Tony至少要叫上一个人。 输入 多组输入每组一行输入一个正整数n 1n1000000000 。 输出 每组输出一行输出方案数。对1000000007 取膜 样例输入1 复制 2 样例输出1 3 就是2^n-1对1e97取模直接快速幂模板就行 #include stdio.h
#include bits/stdc.h
typedef long long LL;
const LL c1e97;
using namespace std;
LL la(LL a, LL b)
{LL ans1;a%c;while(b0){if(b%21)ans(ans*a)%c;bb/2;a(a*a)%c;}return ans;
}
int main() {LL n;while(cinn){printf(%lld\n,(la(2,n)-1c)%c);}return 0;
} 字符串进制转换 发布时间: 2017年7月8日 21:13 最后更新: 2017年7月8日 22:31 时间限制: 1000ms 内存限制: 128M 描述 Claire Redfield在龙之谷游戏的一次任务中获得了一个上了锁的宝箱上面刻了一串由小写字母构成的字符串A和一个数字m 。 经过Claire长时间研究他发现密码是和a m 有关的。字符串A相当于一个26进制的数字a 相当于0 b 相当于1 …….z 相当于25 。然后要将这个26进制的数转化成m 进制那就是这个宝箱的密码。 Claire觉得这个太简单了所以要你帮她完成。 输入 多组输入每组一行输入一个字符串A 和一个正整数m 。 字符串长度102m9 。 输出 每组输出一行答案如题意。 样例输入1 复制 b 2 样例输出1 1 简单的进制转换 #include bits/stdc.h
using namespace std;
typedef long long LL;
char f[100];
int l;
void la(LL n, int b) {static char c[16] {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F};l0;while(n) {f[l]c[n%b];nn/b;}
}
int main() {ios::sync_with_stdio(false);cin.tie(0);string s;int m;while(cinsm){LL t0;for(int i0;s[i];i)tt*26s[i]-a;if(t0){printf(%d,0);}else{la(t,m);for(int kl-1; k0; k--)printf(%c,f[k]);}puts();
}return 0;
} A序列 发布时间: 2017年7月8日 21:16 最后更新: 2017年7月8日 22:29 时间限制: 1000ms 内存限制: 128M 描述 如果一个序列有奇数个正整数组成不妨令此序列为a1,a2,a3,...,a2∗k1 (0k )并且a1,a2...ak1 是一个严格递增的序列ak1,ak2,...,a2∗k1 ,是一个严格递减的序列则称此序列是A序列。 比如1 2 5 4 3就是一个A序列。 现在Jazz有一个长度为n 的数组他希望让你求出这个数组所有满足A序列定义的子序列里面最大的那个长度。子序列可以不连续 比如1 2 5 4 3 6 7 8 9最长的A序列子串是1 2 5 4 3。 输入 多组输入每组两行。 第一行是n 表示给的数组的长度。 第二行有n 个数(int范围)即给你的数组。1n500000 。 输出 每组输入输出一行即最长的A序列子串的长度。 样例输入1 复制 9
1 2 5 4 3 6 7 8 9样例输出1 5 最长上升子序列正着来一次倒着来一次但是复杂度要nlogn的 最长上升子序列的思路来自这里应该没毛病OJ炸了 #includestdio.h
#includebits/stdc.h
using namespace std;
const int N5e510;
int a[N],f[N],l[N],r[N];
int main()
{int n;while(~scanf(%d,n)){for(int i1; in; i)scanf(%d,a[i]);int c1;l[1]1,r[n]1,f[1]a[1];for(int i2; in; i){if(a[i]f[c]) {f[c]a[i];l[i]c;}else{int klower_bound(f1,fc,a[i])-f;l[i]k;f[k]a[i];}}c1,f[1]a[n];for(int in-1; i ; i--){if(a[i]f[c]) {f[c]a[i];r[i]c;}else{int klower_bound(f1,fc,a[i])-f;r[i]k;f[k]a[i];}}c0;for(int i1; in; i)cmax(c,min(2*l[i]-1,2*r[i]-1));printf(%d\n,c);}return 0;
} 巧用c的stl简单实现最长上升子序列 fill(g,gn,infinity);
for(int i0;in;i) {int jlower_bound(g, gn,a[i])-g;f[i]j1;g[j]a[i];
} 丢史蒂芬妮 发布时间: 2017年7月9日 18:17 最后更新: 2017年7月9日 21:05 时间限制: 1000ms 内存限制: 128M 描述 有一天空和白很无聊决定玩盛大游戏考虑到两个人玩他们随便掏了一个游戏出来在一个n∗m的棋盘上首先把史蒂芬妮·多拉放在左上角(1,1)的位置。每次一个人可以将她往下往右往右下丢一格。当前回合谁不能丢史蒂芬妮谁就输了。注意不可以把活人丢出棋盘啦游戏总是空先手。 白说这是一个垃圾游戏我们每次把史蒂芬妮丢素数个位置吧换句话说每次丢2或3或5或7或…格空答应了。 我们都知道空和白都很聪明不管哪方存在一个可以必胜的最优策略都会按照最优策略保证胜利。 玩了一局空已经知道了这个游戏的套路现在他决定考考你对于给定的n和m空是赢是输如果空必胜输出“Sora”无引号反之输出“Shiro”无引号。 输入 第一行有一个T表示数组组数1T100000从第二行开始每行为棋盘大小n、m分别表示行列。1n5001m500 输出 对于每组数据按题目要求输出。 样例输入1 4
1 1
2 2
10 10
30 30样例输出1 Shiro
Shiro
Shiro
Sora这个就是个sg函数呗比如我2就是个必胜啊然后设个三重循环考虑终点这位聚聚的预处理 也可以进这位聚聚的博客看其他代码哦 #include bits/stdc.h
using namespace std;
#define mst(a,b) memset((a),(b),sizeof(a))
const int maxn 500;
const ll mod 1e97;
const int INF 0x3f3f3f3f;
const double eps 1e-6;
int prime[maxn5] {0};
int num_prime0;
bool isprime[maxn5] {1,1};
int vis[maxn5][maxn5];
void init()
{for(int i2; imaxn5; i){if(!isprime[i])prime[num_prime]i;for(int j0; jnum_primei*prime[j]maxn5; j){isprime[i*prime[j]]1;if(i%prime[j]0)break;}}mst(vis,0); //1:必胜 2必败vis[1][1]2;for(int i1; imaxn; i){for(int j1; jmaxn; j){if(vis[i][j]0){vis[i][j]2;}if(vis[i][j]2){for(int k0; ; k){if(iprime[k]maxnjprime[k]maxn)break;if(iprime[k]maxn){vis[iprime[k]][j]1;}if(jprime[k]maxn){vis[i][jprime[k]]1;}if(iprime[k]maxnjprime[k]maxn){vis[iprime[k]][jprime[k]]1;}}}}}
}
int main()
{init();int n,m;int T;scanf(%d,T);while(T--){scanf(%d%d,n,m);if(vis[n][m]1) puts(Sora);else puts(Shiro);}return 0;
} 另一位聚聚的记忆化搜索 #includebits/stdc.h
using namespace std;
int n,m,k,t,qu[maxn];
bool dp[maxn][maxn],vis[maxn][maxn];
bool dfs(int x,int y)
{if(vis[x][y])return dp[x][y];vis[x][y]true;for(int i1;iqu[0];i){if(x-qu[i]0)dp[x][y]|(!dfs(x-qu[i],y));if(y-qu[i]0)dp[x][y]|(!dfs(x,y-qu[i]));if(x-qu[i]0y-qu[i]0)dp[x][y]|(!dfs(x-qu[i],y-qu[i]));}return dp[x][y];
}
bool sushu(int x)
{if(x2)return true;else if(x%20)return false;for(int i3;i*ix;i2)if(x%i0)return false;return true;
}
void init()
{int i,j;rep(i,2,maxn-10)if(sushu(i))qu[qu[0]]i;rep(i,1,maxn-10)rep(j,1,maxn-10)dfs(i,j);
}
int main()
{int i,j;init();scanf(%d,t);while(t--){scanf(%d%d,n,m);puts(dp[n][m]?Sora:Shiro);}return 0;
} 转载于:https://www.cnblogs.com/BobHuang/p/7142454.html