当前位置:网站首页>Uva1592 Database
Uva1592 Database
2022-07-06 04:33:00 【Pecksniff. k】
The original title is :
Ideas : Use one IDcache To assign all strings ID, recycling pair Form a binary . Maintain left endpoint c1, Enumerate right endpoints c2, At the same time through row Scan the assigned from top to bottom id library . Query the first row That's ok pair(c1,c2) Whether it exists or not .
Code :
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>// aggregate
#include<map>// mapping
#include<vector>// vector
#include<utility>//pair
#define DEBUG
using namespace std;
map<string,int> IDcache;// Record ID
map<pair<int,int>,int> Binary_pair;// Record where the binary is row
int cnt=0;
int ID(string s)// Distribute ID
{
if(IDcache.count(s))
{
return IDcache[s];
}
else
{
return IDcache[s]=cnt++;
}
}
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,m;
while(cin>>n>>m)
{
IDcache.clear();
Binary_pair.clear();
vector<vector<int>> dict(n,vector<int>(m));// Deposit ID
string s;
cnt=0;
cin.get();// Eliminate line breaks
for(int i=0;i<n;i++)
{
getline(cin,s);
for(int j=0;j<s.length();j++)
{
if(s[j]==',')
{
s[j]=' ';// Replace commas with spaces
}
else if(s[j]==' ')
{
s[j]=',';// Replace the space with an impossible comma
}
}
stringstream ss(s);// Character stream
for(int j=0;j<m;j++)
{
string cur;
ss>>cur;
dict[i][j]=ID(cur);
}
}
#ifndef DEBUG// Debug statement
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<dict[i][j]<<" ";
}
cout<<endl;
}
#endif
if(m>1)
{
for(int c1=0;c1<m-1;c1++)// Maintain left endpoint
{
for(int c2=c1+1;c2<m;c2++)// Enumerate right endpoints
{
Binary_pair.clear();
for(int row=0;row<n;row++)// Traverse from top to bottom
{
pair<int,int> temp(dict[row][c1],dict[row][c2]);
if(Binary_pair.count(temp))// Is not Peter normal form
{
cout<<"NO"<<endl;
cout<<Binary_pair[temp]+1<<" "<<row+1<<endl;
cout<<c1+1<<" "<<c2+1<<endl;
goto out;// Jump out of multiple loops
}
else
{
Binary_pair[temp]=row;
}
}
}
}
}
cout<<"YES"<<endl;
out:;
}
return 0;
}
边栏推荐
- Dry goods collection | Vulkan game engine video tutorial
- 动态规划(树形dp)
- canal同步mysql数据变化到kafka(centos部署)
- When debugging after pycharm remote server is connected, trying to add breakpoint to file that does not exist: /data appears_ sda/d:/segmentation
- Figure application details
- View 工作流程
- MySQL reported an error datetime (0) null
- Dynamic programming (tree DP)
- R note prophet
- Stable Huawei micro certification, stable Huawei cloud database service practice
猜你喜欢
Fedora/rehl installation semanage
JVM garbage collector concept
Vulnerability discovery - vulnerability probe type utilization and repair of web applications
Solutions: word coverage restoration, longest serial number, Xiaoyu buys stationery, Xiaoyu's electricity bill
How to estimate the population with samples? (mean, variance, standard deviation)
How do programmers teach their bosses to do things in one sentence? "I'm off duty first. You have to work harder."
Lombok principle and the pit of ⽤ @data and @builder at the same time
The value of two date types is subtracted and converted to seconds
颠覆你的认知?get和post请求的本质
MLAPI系列 - 04 - 网络变量和网络序列化【网络同步】
随机推荐
Recommendation | recommendation of 9 psychotherapy books
Solutions: word coverage restoration, longest serial number, Xiaoyu buys stationery, Xiaoyu's electricity bill
CADD course learning (8) -- virtual screening of Compound Library
Data processing methods - smote series and adasyn
ETCD数据库源码分析——etcdserver bootstrap初始化存储
About some basic DP -- those things about coins (the basic introduction of DP)
P2102 地砖铺设(dfs&贪心)
flink sql 能同时读多个topic吗。with里怎么写
QML和QWidget混合开发(初探)
How does vs change the project type?
E. Best Pair
2/12 didn't learn anything
C. The third problem
图应用详解
[Zhao Yuqiang] deploy kubernetes cluster with binary package
Stable Huawei micro certification, stable Huawei cloud database service practice
Yyds dry inventory automatic lighting system based on CC2530 (ZigBee)
关于进程、线程、协程、同步、异步、阻塞、非阻塞、并发、并行、串行的理解
Deep learning framework installation (tensorflow & pytorch & paddlepaddle)
Redis —— Redis In Action —— Redis 实战—— 实战篇一 —— 基于 Redis 的短信登录功能 —— Redis + Token 的共享 session 应用— 有代码