QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#384138 | #3742. 卖萌表情 | wanyu | TL | 0ms | 0kb | C++17 | 1.9kb | 2024-04-09 20:54:02 | 2024-04-09 20:54:03 |
answer
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<math.h>
#include<vector>
using namespace std;
const int N=1500;
int n,m;
string c[N];
int dp[N][N];
bool bi[N][N];
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
while(cin>>n>>m)
{
memset(dp,0,sizeof dp);
memset(bi,0,sizeof bi);
for(int i=0;i<n;i++) cin>>c[i];
//1 c[i][j]=='^'&&c[i][j+2]=='^'&&c[i+1][j+1]=='v'
//2 c[i+1][j]=='v'&&c[i+1][j+2]=='v'&&c[i][j+1]=='^'
//3 c[i][j]=='<'&&c[i+2][j]=='<'&&c[i+1][j+1]=='>'
//4 c[i][j+1]=='>'&&c[i+2][j+1]=='>'&&c[i+1][j]=='<'
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(j+2<m)
{
if(c[i][j]=='^'&&c[i][j+2]=='^'&&c[i+1][j+1]=='v'&&!bi[i][j]&&!bi[i][j+2]&&!bi[i+1][j+1])
{
bi[i][j]=bi[i][j+2]=bi[i+1][j+1]=1;
dp[i][j]=max(dp[i][j-1],dp[i][j]+1);
dp[i+1][j]=dp[i][j+1]=dp[i+1][j+1]=dp[i][j+2]=dp[i+1][j+2]=dp[i][j];
}
if(c[i+1][j]=='v'&&c[i+1][j+2]=='v'&&c[i][j+1]=='^'&&!bi[i+1][j]&&!bi[i+1][j+2]&&!bi[i][j+1])
{
bi[i+1][j]=bi[i+1][j+2]=bi[i][j+1]=1;
dp[i][j]=max(dp[i][j-1],dp[i][j]+1);
dp[i+1][j]=dp[i][j+1]=dp[i+1][j+1]=dp[i][j+2]=dp[i+1][j+2]=dp[i][j];
}
}
if(i+2<n)
{
if(c[i][j]=='<'&&c[i+2][j]=='<'&&c[i+1][j+1]=='>'&&!bi[i][j]&&!bi[i+2][j]&&!bi[i+1][j+1])
{
bi[i][j]=bi[i+2][j]=bi[i+1][j+1]=1;
dp[i][j]=max(dp[i][j-1],dp[i][j]+1);
dp[i][j+1]=dp[i+1][j]=dp[i+1][j+1]=dp[i+2][j]=dp[i+2][j+1]=dp[i][j];
}
if(c[i][j+1]=='>'&&c[i+2][j+1]=='>'&&c[i+1][j]=='<')
{
bi[i][j+1]=bi[i+2][j+1]=bi[i+1][j]=1;
dp[i][j]=max(dp[i][j-1],dp[i][j]+1);
dp[i][j+1]=dp[i+1][j]=dp[i+1][j+1]=dp[i+2][j]=dp[i+2][j+1]=dp[i][j];
}
}
dp[i][j]=max(max(dp[i][j],dp[i][j-1]),dp[i-1][j]);
}
}
int ddd=max(max(dp[n-1][m-1],dp[n-3][m-2]),dp[n-2][m-3]);
cout<<ddd<<endl;
}
return 0;
}
详细
Test #1:
score: 0
Time Limit Exceeded
input:
3 10 ^>^<^^^^>^ <v^v^^v^v> <>vvvvvvvv 10 1 v ^ < < v < v > < < 5 4 <^^^ <vvv <<^> vv^v <vvv 2 9 ^^^^^^^^^ vvvvvvvvv 9 10 ^>^^<^<^<> <^<<><<<<> v^v^^<>^<^ ^<vvv<><<> <v>>><^v^> ^^^^>^^<<v v^v>v^v^<> v^vvv>v^<^ vvvvv><>v> 8 8 ^^^^<^<^ <>^<v>v^ <v<v>^v> v>v<vv<> ^<^>>v<> <v^v^<<> ^v^^>v<> <vv<vv<> 2 2 ...
output:
3 0 2 4 5 7 0 2 3 2 5 0 5 2 0 2 1 2 2 0 0 0 0 2 3 3 2 3 2 4 2 0 3 3 9 5 0 3 0 9 5 2 3 2 2 5 5 1 4 0 0 4 0 2 3 3 2 4 5 2 0 5 3 7 4 3 4 0 3 0 4 3 4 6 0 7 3 0 2 0 0 7 8 4 2 3 6 3 2 3 0 0 0 3 3 2 2 0 0 5 4 4 4 3 3 5 4 3 0 3 4 0 9 0 4 5 5 3 3 0 0 2 4 4 3 4 2 6 4 0 0 3 3 4 0 4 3 4 2 0 3 6 1 3 4 4 6 3 4 2 ...