bnuoj 4357 传送阵
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4357
【题意】:在1000个数中选择3个之和是m的倍数,可能有多种选择方案,请输出标号排序最小的一组,并且三个标号按升序输出
【题解】:三层循环,转化成两层循环
先将1000个数对m取余,存入mod数组,表示是否存在,并对该余数出现的位置进行标记保存,两层循环遍历两个数,用m-这两个数之和,看是否存在mod中,并且位置没有在之前的循环i、j中出现就可以。。。
【code】:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <vector> using namespace std; int arr[],mod[];
vector<int> G[]; int isOK(int temp,int x,int y)
{
int i;
for(i=;i<G[temp].size();i++)
{
//cout<<temp<<" "<<G[temp][i]<<" "<<x<<" "<<y<<endl;
if(G[temp][i]!=x&&G[temp][i]!=y)
{
return i;
}
}
return -;
} int main()
{
int n,m;
scanf("%d%d",&n,&m);
int i,j;
memset(mod,,sizeof(mod));
for(i=;i<=m;i++) G[i].clear();
for(i=;i<n;i++)
{
scanf("%d",arr+i);
arr[i]%=m;
mod[arr[i]]++;
// if(mod[arr[i]]==1) pos[arr[i]]=i;
G[arr[i]].push_back(i);
}
int flag = ;
for(i=;i<n;i++)
{
for(j=i+;j<n;j++)
{
int temp = ((m-arr[i]-arr[j])+m)%m;
if(mod[temp]>=)
{
int id = isOK(temp,i,j);
if(id!=-)
{
printf("%d %d %d\n",i+,j+,G[temp][id]+);
flag=;
break;
}
}
}
if(flag) break;
}
if(!flag) puts("-1"); return ;
}
bnuoj 4357 传送阵的更多相关文章
- hdu 4899 Hero meet devil
传送阵:http://acm.hdu.edu.cn/showproblem.php?pid=4899 题目大意:给定一个DNA序列,求有多少长度为m的序列与该序列的最长公共子序列长度为0,1...|S ...
- hdu 4898 The Revenge of the Princess’ Knight
传送阵:http://acm.hdu.edu.cn/showproblem.php?pid=4898 题目大意:一个首尾相连的字符串,将其分为k个子串,使得最大的字串最小 将所有子串排序,输出第k小即 ...
- webpack配置命令
从2015年开始,webpack就是当前最火的构建工具.跟着时代向前走.准没错.我们要追随大神的脚步.走在前端技术栈的前列.大神等等我. 由于webpack是基于nodejs环境下的.所以先安装nod ...
- 学习zepto.js(原型方法)[2]
接着昨天的来,继续说原型方法,昨天的传送阵(昨天出了点小意外,博文经过WP手机的UC浏览器进行编辑后标签就露出来了- -,现已修复); $.grep(): 作用与Array.filter类似(其实就是 ...
- 总结CSS3新特性(Animation篇)
动画(Animation),是CSS3的亮点.//之一 通过animation属性指定@keyframe来完成关键帧动画; @keyframe用法: @keyframes name { 0% { to ...
- 总结CSS3新特性(选择器篇)
CSS3新增了嗯- -21个选择器,脚本通过控制台在这里运行; ~: p ~ p { color : red;/*此条规则将用于p后边所有的p...就是除了第一个p的所有p,规则同p:not(:nth ...
- 2014 UESTC暑前集训搜索专题解题报告
A.解救小Q BFS.每次到达一个状态时看是否是在传送阵的一点上,是则传送到另一点即可. 代码: #include <iostream> #include <cstdio> # ...
- hdu 4897 Little Devil I
传送阵:http://acm.hdu.edu.cn/showproblem.php?pid=4897 题目大意:一棵树,三个操作:1.将某条链取反,2.将与某条链相邻的边取反,3.查询某条链上为1的边 ...
- 那些年我们学过的PHP黑魔法
那些年我们学过的PHP黑魔法 提交 我的评论 加载中 已评论 那些年我们学过的PHP黑魔法 2015-04-10 Sco4x0 红客联盟 红客联盟 红客联盟 微信号 cnhonker_huc 功能介绍 ...
随机推荐
- 关于docker中的几个小命令
问题 A VirtualBox machine with the name 'vagrant_c__devops_docker_vagrant' already exists. 解决命令:VBoxMa ...
- Ehcache(2.9.x) - API Developer Guide, Transaction Support
About Transaction Support Transactions are supported in versions of Ehcache 2.0 and higher. The 2.3. ...
- HDOJ2027统计元音
统计元音 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- Javascript之spry菜单栏
我没有添加任何东西,这是Dreamweaver原汁原味用spry创建的菜单栏,以此来学习菜单导航,哈哈. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
- oracle视图索引
reate table fleet_header( day date,name varchar2(20), route_id number(5),fleet_id number(5)); crea ...
- js 验证电话号 座机及手机号
function CheckTel() { /*验证电话号码 验证规则:区号+号码,区号以0开头,3位或4位号码由7位或8位数字组成 区号与号码之间可以无连接符,也可以“-”连接 如010888888 ...
- Oracle + Entity Framework 更新没有设置主键的表
最近用Entity Framework 开发的时候,发现一个问题,在默认情况下,EF不能对一个没有主键的表进行更新.插入和删除的动作. 那么,应该怎么处理没有主键的表呢? 我们打开这个表的edmx文件 ...
- java如何调用webservice接口
java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用.理论上 ...
- Go 接口转换的一个例子
今天将Go 的websocket集成到已有的http中时也遇到以下一个问题:其中主要是接口类型转换 转载自[http://www.cnblogs.com/ghj1976/archive/2013/04 ...
- java.imageIo给图片添加水印
最近项目在做一个商城项目, 项目上的图片要添加水印①,添加图片水印;②:添加文字水印; 一下提供下个方法,希望大家可以用得着: package com.blogs.image; import java ...