Problem H. The Fence 通过取余判重,求得某个区间的某些个数为某个数的倍数。
2024-09-03 11:18:52
/**
题目:Problem H. The Fence
链接:https://vjudge.net/problem/Gym-101090H
题意:给定一个字符串,只有0或者1;
问:假如两个不同的1之间的0,1数量是k的倍数(包括0倍)则输出这两个1的位置;
思路:%k;直到遇到两个相同的余数,说明之间的01数量为k的倍数。
*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + ;
int vis[N];
char s[N];
int main(){
int k;
cin>>k;
scanf("%s",s+);
int len = strlen(s + );
memset(vis,,sizeof(vis));
for(int i = ;i <= len;i++){
if(s[i] == ''){
if(vis[(i + k -)%k]){
printf("%d %d\n",vis[(k - + i)%k],i);
return ;
}
vis[i%k] = i;
}
}
printf("0 0\n");
return ;
}
最新文章
- MONO x64 amd_x64
- OC编程之道-创建对象之抽象工厂方法
- Android UI自动化用例设计技巧
- 在SQLSERVER2008中建立数据库复制碰到的问题
- 一个简单的、面向对象的javascript基础框架
- Ubuntu16配置静态IP
- Kafka三款监控工具比较(转)
- HBase应用开发回顾与总结系列之一:概述HBase设计规范
- 25款顶级的jQuery表格插件
- 【BZOJ】【2756】【SCOI2012】奇怪的游戏
- The xor-longest Path
- select m objects from n objects randomly
- Hook SSDT中NtCreateProcessEx
- power oj 2480 放积木[二进制状压DP]
- 致C#,致我这工作一年(下)
- 应用分类&;练手项目计划
- Oracle入门概述
- 8.4 C++标准输入流
- [leetcode.com]算法题目 - Maximum Subarray
- 哨兵/sentinel:在算法设计中的应用