this gives error for me:-
int n=s.size();
but when i declared n as long long it got submitted. Why n is long long? Constraint says that length(tag) is <=1000.
Can anyone explain this?
Please link to both solutions (the WA one and the AC one).
int main() {
fio;
ll t;
cin>>t;
while(t--){
string s;
cin>>s;
if(s[0]=='<' and s[1]=='/' and s[s.size() - 1]=='>' and s.size()>3){
bool check1=1;
for(ll i=2;i<s.size()-1;i++){
if(!(s[i]>='a' and s[i]<='z'|| s[i]>='1' and s[i]<='9')){
check1=0;
break;
}
}
if(check1){
cout<<"Success" nl;
}
else{
cout<<"Error" nl;
}
}
else{
cout<<"Error" nl;
}
}
}
Can some tell me what is wrong in this…i am getting WA.
Can anyone please explain what the error is in my code?
for _ in range(int(input())):
tag_input = input()
tag = list(tag_input)
length = len(tag)
s = True
if length > 3 and tag[0: 2] == ['<', '/'] and tag[-1] == '>':
for i in range(3, length - 1):
if '1' <= tag[i] <= '9' or 'a' <= tag[i] <= 'z':
continue
else:
s = False
break
else:
s = False
if s:
print('Success')
else:
print('Error')
Accepted(AC):- CodeChef: Practical coding for everyone
Wrong one(WA):- CodeChef: Practical coding for everyone
Thanks - the two solutions are very different - why do you assume that it is the type of n
that’s causing the problem? For example, try the WA version with the test input:
1
<<4<
0 is considered as a digit so </0> is test case where ur code fails
also u should write like this (!((s[i]>=‘a’ && s[i]<=‘z’) || (s[i]>=‘0’ && s[i]<=‘9’)))
OK, got it. My bad
2
</A>
</00>
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
//#ifndef ONLINE_JUDGE
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
//#endif
int t;
cin >> t;
while (t--)
{
string str;
cin >> str;
bool temp = false;
if (str[0] == '<' && str[1] == '/' && str[str.size() - 1] == '>')
{
temp = true;
for (int i = 2; i < str.size()-1; i++)
{
if (!isalnum(str[i]))
{
temp = false;
break;
}
}
}
if (temp)
{
cout << "Success" << endl;
}
else
{
cout << "Error" << endl;
}
}
return 0;
}
The given test case seemed to work fine but still has not been accepted. Can somebody help me to identify the error?
bro u r pro
At line 25 you have made an error : s[3] == ‘4’ try converting it to s[i] == ‘4’ . Hope it helps.
alnum() function returns true when character is uppercase, lowercase or digit so therefore your code also make temp false if it is a lowercase letter, therefore causing error.
Consider the test input:
1
</aA>
Thanks… Its running now
I’ve checked all the 3 conditions still I’m getting wrong ans – Here is the code –
t = int(input())
for _ in range(t):
tags = list(input())
if tags[0] != “<” or tags[1]!="/" or tags[-1]!=’>’:
print(“Error”)
else:
for i in range(2,len(tags)-1):
if tags[i].isalnum() == False:
flag = 0
break
elif tags[i].isalpha() and tags[i].isupper():
flag = 0
break
else:
flag = 1
if flag:
print(“Success”)
else:
print(“Error”)