优化技巧:
将字符串映射成数字,方便存储也加快比较速度(配合map的find函数)
#include<stdio.h>
#include<iostream>
#include<cstdlib>
#include<string.h>
#include<algorithm>
#include<unordered_map>
#include<map>
#include<vector>
using namespace std;
unordered_map<int,int>article[10001];//(没啥用了) article[i][j]代表第i行j列的字符串(所映射的数字)
unordered_map<string,int>word;//保存一下将字符串映射成数字的结果
int idx;
int n,m;
int have_ans=0;
int a[10001][11];
bool solve(int i,int j);
struct nodes
{
int x,y;
bool operator < (const nodes &temp) const
{
// if(x==temp.x&&y==temp.y) return false;
// if(x==temp.x)
// {
// return y<temp.y;
// }
// return x<temp.x;
return x<temp.x||(x==temp.x&&y<temp.y);
}
};
void operate_str(const string &str,int row)//将一整行的字符分开.并把字符串映射
{
if(have_ans)return ;
string line;//储存一个格
int column=1;
for(int i=0;str[i];i++)
{
if(str[i]==',')
{
if(word.find(line)==word.end())
{
word[line]=++idx;
}
article[row][column]=word[line];
a[row][column]=word[line];
line.clear();
column++;
}
else
{
line.push_back(str[i]);
}
}
}
void solve()//先确定两列,寻找是否有两行,他们对应的元素相同
{
for(int c1=1;c1<=m;c1++)
{
for(int c2=c1+1;c2<=m;c2++)
{
map<nodes,int> t;//把同一列下的两个元素储存起来
for(int r1=1;r1<=n;r1++)
{
nodes p={a[r1][c1],a[r1][c2]};
//printf("%d -%d,%d %d-%d,%d\n",a[r1][c1],r1,c1,a[r1][c2],r1,c2);
if(t.find(p)!=t.end())
{
have_ans=1;
printf("NO\n");
printf("%d %d\n%d %d\n",t[p],r1,c1,c2);
return;
}
t[p]=r1;
}
t.clear();
}
}
}
void init()
{
have_ans=0;
idx=0;
}
int main()
{
//freopen("uva1592.txt","r",stdin);
//freopen("uva1592-out.txt","w",stdout);
while(scanf("%d%d",&n,&m)!=EOF)
{
getchar();
init();
for(int i=1;i<=n;i++)
{
string str;
getline(cin,str);
str.push_back(',');
operate_str(str,i);
}
solve();
if(have_ans)
{
//printf("NO\n");
//printf("%d %d\n%d %d\n",ans.r1,ans.r2,ans.c1,ans.c2);
}
else
{
printf("YES\n");
}
}
return 0;
}
文章浏览阅读3.3k次。一、问题描述 在设置完default-time及picker-options两个属性后,当选择当天时间时,无法选中填入时间!!<el-date-picker v-model="dateTime" unlink-panels value-format="yyyy-MM-dd HH:mm:ss" type="daterange" range-separator="~" start-placeholder="开始日期" _el-date-picker 不能选择当天时间
文章浏览阅读550次,点赞10次,收藏10次。Guitar Pro是一款备受吉他手喜爱的谱写软件,它提供了丰富的功能,使得谱写和学习吉他曲目变得更加轻松。随着时间的推移,软件也在进行不断地更新和升级,为用户带来了更多便利和功能。在最新的Guitar Pro 8版本中增加了新功能,下面来给大家介绍guitar pro8值不值得买?guitarpro8多少钱的具体内容。Guitar Pro 8是一款值得购买的音乐编奏软件。它有许多高效的功能,使得谱写、编辑和学习乐谱变得更加便利。下面是Guitar Pro 8的一些主要功能。_guitar pro8
文章浏览阅读485次。不使用任何NXP/PHILIPS已停产的SA605/SA605D/SA605DK/NE605/SA615/SA636等混频器芯片的ISO15693中大功率中远距离RFID读写器,完美替代SA605DK,所有射频芯片均为全新且量产易购买的,单片机采用超低成本的国产STC单片机,通讯为:USB串口和TTL串口,发射功率为。更多资料:http://www.iso15693.com。
文章浏览阅读174次。1、处理了一些生活中的事情,就是身份证更换的事情2、看了一下decision tree,知道了怎么计算熵3、看到了一本书,叫财富公式,感觉这本书,值得一读
文章浏览阅读1.9k次。最近老是忘记Git的命令使用,想重新学习一下,在Github上看到githug这个项目,可以通过游戏的方式进行学习,还是很新奇的。Ruby安装githug报错解决办法:更换源为https://gems.ruby-china.com/_failed to open tcp connection to ru
文章浏览阅读979次。server端工作原理如下图:NettyServer整体架构图.pngserver端启动时绑定本地某个端口,将自己NioServerSocketChannel注册到某个boss NioEventLoop的selector上。server端包含1个boss NioEventLoopGroup和1个worker NioEventLoopGroup,NioEventLoopGroup..._java netty架构图
文章浏览阅读356次。原文地址:https://blog.csdn.net/sin0803/article/details/375393131.包含头文件#include <dirent.h>2.struct dirent结构1 struct dirent2 {3 long d_ino; /* inode number 索引节点号 */4 off_t ..._struct dirnet
文章浏览阅读1.4w次,点赞2次,收藏8次。刚刚用了EFM32的Simplicity Studio 4 软件 来记录一下用法,软件可以去官网下载。第一步:首先连接好板子,打开这个软件,更新一下包,如图:后面的跟着步骤来就行,然后就等下载完成,根据网速吧,网速不好就需要等好久,趁这个时间可以泡一杯咖啡喝......第二步:配置芯片型号:点击左上角的箭头,右键选择 Device Configuration ,然后跳出一个窗口选择你所用到的芯片,..._simplicity studio 4.0 uart
文章浏览阅读1.4k次。原程序的功能是将samples文件夹里的照片一次性进行识别。想改变程序,用zed拍照,达到实时显示识别的目的,但是加了while(1)以及zed grab后,报错:[08/04/2020-16:01:13] [E] [TRT] …/rtSafe/safeContext.cpp (133) - Cudnn Error in configure: 7 (CUDNN_STATUS_MAPPING_ERROR)[08/04/2020-16:01:13] [E] [TRT] FAILED_EXECUTION: s_yolov5_zed: /home/xu/tensorrt_yolov5_v6.0/src/yolov5.cpp:73: nvinfer1::icuda
文章浏览阅读5.6k次。我们在服务器上运行的了一个服务,肯定不想CTRL+C退出日志打印平台后,服务就停止了,即使是我们关闭了远程访问服务器的Shell窗口,也不要关闭。下面就是解决这个问题的干货了:1、&在运行命令的后面添加&,表示让让程序在后台运行,所以你CTRL+C后退出了日志打印,服务仍然会运行到后台。2、nohup可是你发现没有,即使添加了&,我们关闭访问服务器的窗口后,服务还..._不结束shell界面命令挅作是
文章浏览阅读411次。android手机控制电脑源码 android手机可视化控制电脑-无线鼠盘源码 自定义TextView跑马灯效果,可控制启动,停止,和速度 Android自定义Menu,所有功能已经完善 下拉菜单3级联动,天气预报模拟豆瓣。并获取一些个人信息。Android 仿QQ客户端及服务端源码android 斗地主源码分享ImageCache,图片缓存工具类,可直接用于项目(
文章浏览阅读1.7k次。2.卸载驱动sudo apt-get --purge remove nvidia*sudo apt autoremoveTo remove CUDA Toolkit:$ sudo apt-get --purge remove “cublas” “cuda*”To remove NVIDIA Drivers:$ sudo apt-get --purge remove “nvidia”..._在乌班图安全模式下能删除显卡吗